java swing中简单的可滚动textArea

时间:2015-03-05 17:33:42

标签: java swing

我正在学习swing我编写了一个代码来显示jpanel中的简单文本区域但是只有面板显示不是文本区域。

主框架类

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class MainFrame extends JFrame{

private TextPanel textPanel;
private JButton button;

public MainFrame(){

    super("Hello World!");
    this.textPanel = new TextPanel();
    this.button = new JButton("Click me");

    this.setLayout(new BorderLayout());

    this.add(textPanel,BorderLayout.CENTER);
    this.add(button,BorderLayout.SOUTH);

    button.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        }
    });

    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setSize(600, 500);
    this.setVisible(true);

}

private void add(TextPanel textPanel2, String center) {
    // TODO Auto-generated method stub
};
}

,包含面板和文本区域的第二个类是

import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;


public class TextPanel extends JPanel {

private JTextArea textArea;

public TextPanel() {


    textArea = new JTextArea();

    setLayout(new BorderLayout());

    add(new JScrollPane(textArea),BorderLayout.CENTER);

}
}

enter image description here

但是面板上没有文本区域,控制台也没有错误 即时通讯使用java 7,所以我的代码出了什么问题。

1 个答案:

答案 0 :(得分:5)

删除此方法,该方法将覆盖Container的add方法

private void add(TextPanel textPanel2, String center) {
    // TODO Auto-generated method stub
};

似乎TextPanel没有提供任何新功能。为什么不直接将JScrollPane组件添加到框架中?