java-为什么我的swing运行的时候总是出现很多种不稳定的显示情况

问题描述

为什么我的swing运行的时候总是出现很多种不稳定的显示情况

为什么我的代码运行的时候总是出现很多种不稳定的显示情况,我是用swing 写的一个JFrame,用的borderlaout布局,每次运行至少都有三次不一样的效果出来,而且没有一种是正确的,急求怎么解决!
package com.hxw.talkFrame;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;

public class TalkFrame {

/**
 * @param args
 */
public static void main(String[] args) {
    // TODO 自动生成的方法存根
    try {
        UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
        } catch (Exception e) {
        e.printStackTrace();
        }
    new MainWindow("人工智能");
}

}

class MainWindow extends JFrame implements ActionListener {
/**
* 主窗口
*/

JMenuBar menuBar;// 主菜单
JToolBar toolBar;//工具栏
public MainWindow(String str) {
    super(str);
    this.setVisible(true);
    this.setSize(700, 530);
    this.setLocation(300, 160);
    this.setResizable(false);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    setLayout(new BorderLayout(0, 0));

    showMenu(); //显示菜单栏
    setJMenuBar(menuBar);//设置菜单栏
    showToolBar();
    add(toolBar,BorderLayout.NORTH);

    JPanel contentPanel=new JPanel();
    contentPanel.setBackground(Color.yellow);
    add(contentPanel,BorderLayout.CENTER);

    JPanel operatePanel=new JPanel();
    operatePanel.setBackground(Color.red);
    operatePanel.setSize(600, 90);
    add(operatePanel,BorderLayout.SOUTH);
}

@Override
public void actionPerformed(ActionEvent e) {
    // TODO 自动生成的方法存根

}

public void showMenu()// 显示菜单栏
{
    menuBar = new JMenuBar();
    JMenu menu1 = new JMenu("文件");
    JMenu menu2 = new JMenu("编辑");
    JMenu menu3 = new JMenu("视图");

    menuBar.add(menu1);
    menuBar.add(menu2);
    menuBar.add(menu3);

    JMenuItem item1 = new JMenuItem("打开");
    JMenuItem item2 = new JMenuItem("保存");
    JMenuItem item3 = new JMenuItem("打印");
    JMenuItem item4 = new JMenuItem("退出");

    menu1.add(item1);
    menu1.add(item2);
    menu1.addSeparator();
    menu1.add(item3);
    menu1.addSeparator();
    menu1.add(item4);

}

public void showToolBar()// 显示工具栏
{
    toolBar=new JToolBar();
    JButton start=new JButton("开始对话");
    JButton button2=new JButton("选择场景");
    JButton button3=new JButton("更换机器头像");
    toolBar.add(start);
    toolBar.add(button2);
    toolBar.add(button3);
}

}

解决方案

每次都一样啊,不知道楼主的问题在哪里额

时间: 2024-09-11 05:02:18

java-为什么我的swing运行的时候总是出现很多种不稳定的显示情况的相关文章

求java swing运行机制

问题描述 求java swing运行机制 我自己写了一个非常基本的jframe的demo,什么控件都不加的时候,界面可以正常出来,但是一加控件,按钮,jlable之类的,就界面就出不来,所以想了解一下gui加载的机制,看看问题出在哪里 解决方案 gui的机制还真说不好,你要是加了控件显示不出来,肯定是你写的代码有问题,放上来可以讨论下. 解决方案二: java运行机制Java运行机制Java语言的运行机制 解决方案三: gui的机制还真说不好,你要是加了控件显示不出来,肯定是你写的代码有问题,放

java swing 组件 图形-java swing组件上绘制直线同时添加组件后 的显示问题

问题描述 java swing组件上绘制直线同时添加组件后 的显示问题 说明:运行后,面板上自动画出14条直线,点击"添加"按钮,生成可以拖动的JTextField控件.问题(1)面板的背景色不显示,(2)拖动JTextField控件时有残影,(3)改变JFrame大小后,残影消失,但是只能显示JTextField控件的一部分.哪位高手指点下. import java.awt.*; import java.awt.event.*; import java.awt.Graphics; i

java swing中一个JTree如何在多个panel中显示

问题描述 java swing中一个JTree如何在多个panel中显示 要实现的功能是 需要在2个panel(A, B )中显示用户组的树结构, 其中有一个panel(B)中提供了对树的增删改,运行程序首先显示A, 通过A上的按钮点击事件显示B, 要在B更改同时更新A上的显示情况, 现在遇到的情况是:当点击A上的按钮显示B时,A上的tree就不见了: 怎么解决啊? A的部分代码 DefaultMutableTreeNode root = new DefaultMutableTreeNode("

Java图形用户界面设计(Swing)的介绍_java

前言 Swing是一个用于开发Java应用程序用户界面的开发工具包.它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格.Swing开发人员只用很少的代码就可以利用Swing丰富.灵活的功能和模块化组件来创建优雅的用户界面. Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT更好的屏幕显示元素.它们用纯Java写成,所以同Java本

线程停止-java如何停止当前正在运行的线程,新手求解答

问题描述 java如何停止当前正在运行的线程,新手求解答 最近想做一个无线数据监控服务端,用java做的,面板Jframe设置了一个Jpanel,我称这个为Jpanel 1 ,在Jpanel 1中我定义了一个多选JCheckbox,有四种监控方式可选:Bluetooth,Wifi,GPRS,Zigbee.还定义了一个JButton,分为开始ON,结束OFF,然后在JPanel 1中定义了JPanel 2,JPanel 2 中我定义了JScrollPane,scrollAndSetCursor用于

如何将ecplise创建的java语言写的服务器运行起来等待接收信息

问题描述 如何将ecplise创建的java语言写的服务器运行起来等待接收信息 如何将ecplise创建的java语言写的服务器运行起来等待接收信息除了导入tomcat还可以导入到哪里呢 解决方案 天啦,任何一个web服务器都可以.什么Apache.JBOSS.Neginx.Jetty之类的. 解决方案二: 你就说 能承载java web 的服务器 不就得了,说的那么麻烦

为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?

问题描述 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行? 为什么在ecplise ADT中的src文件里的java代码没有实例化就可以运行?,例如onCreate()方法 , 解决方案 因为框架负责了实例化,这些代码只是不是你写的而已. 解决方案二: onCreate是系统自动回调的方法

java 循环do while无法运行

问题描述 java 循环do while无法运行 程序是计算平均数,可是输入数字后没有回应. 肯定是哪里的细节问题,可是检查了几遍也没找到原因. 解决方案 代码没有问题,可以完整地执行.你程序终结运算的输入是"-1",所以如果你想求出结果,就得结束运算. 建议你看不到结果的时候,不妨在代码里打印一些标记.如:System.out.println("====1===="); 解决方案二: 关注一下哦哦噢噢噢噢 解决方案三: 我运行了你的代码 , 没问题啊 . 解决方案

java-求解 这段 JAVA 代码 怎么改 才能运行 太晕了

问题描述 求解 这段 JAVA 代码 怎么改 才能运行 太晕了 public static char[] a(char[] paramArrayOfChar) { char[] arrayOfChar1 = new char[12]; char[] arrayOfChar2 = new char[12]; arrayOfChar2[0] = '?'; arrayOfChar2[1] = '?'; arrayOfChar2[2] = 'o'; arrayOfChar2[3] = '/'; arra