java swing的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:25:21
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.event.KeyEvent;

import javax.swing.*;

public class MainWindow extends JFrame
{
private OSMapDisplayPanel mapPanel = new OSMapDisplayPanel();
private ObstacleListPanel listPanel = new ObstacleListPanel();
private ObstacleFilteringPanel filterPanel = new ObstacleFilteringPanel();
private JSplitPane horizontalPane;
private JSplitPane verticalPane;
private JMenuBar menuBar;
private JToolBar toolBar;

// Initialise the user interface, creating the objects
public MainWindow()
{
super("Main Window");
setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);

setBackground(Color.WHITE);
setSize(500,500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLO

两个问题,一个是滚动面板里的内容,使用setViewportView设置,不用add;另一个,不要使用空paint方法,否则组建无法重绘。你可以不写这个方法。或者直接调用super的。其他的应该没有问题。
public OSMapDisplayPanel()
{
JTextArea a = new JTextArea(500,500);
a.setEditable(true);
a.setMargin(new Insets(5,5,5,5));
a.setVisible(true);
setViewportView(a);
}
public void paint(Graphics g)
{
super.paint(g);
}