JTabbedPane tabbedPane = new JTabbedPane();
JPanel panel1 = new JPanel(); JTextArea area1 = new JTextArea(50, 50);
area1.setEditable(false);
panel1.add(area1, BorderLayout.CENTER);
tabbedPane.addTab("Tab one", null, panel1, "First Panel");
该代码就是实现了将一个area1添加到panel1,再将panel1添加到tabbedPane中,请问能不能让area1的大小随着窗口的大小能自动的变大或缩小。
这个不会,请大家帮忙看看,谢谢!
JPanel panel1 = new JPanel(); JTextArea area1 = new JTextArea(50, 50);
area1.setEditable(false);
panel1.add(area1, BorderLayout.CENTER);
tabbedPane.addTab("Tab one", null, panel1, "First Panel");
该代码就是实现了将一个area1添加到panel1,再将panel1添加到tabbedPane中,请问能不能让area1的大小随着窗口的大小能自动的变大或缩小。
这个不会,请大家帮忙看看,谢谢!
把panel1.add(area1, BorderLayout.CENTER);改成panel1.add(area1);
import java.awt.event.*;
import javax.swing.*;public class Screen extends JFrame{
private static final long serialVersionUID = 41L;
public Screen(){
super("DataBase System");
JMenu fileMenu = new JMenu("系统");
fileMenu.setMnemonic('S');
JMenuItem startServer = new JMenuItem("启动服务器");
startServer.setMnemonic('T');
fileMenu.add(startServer);
startServer.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
//启动服务器方法;
}
}
);
JMenuItem connectServer = new JMenuItem("连接服务器");
connectServer.setMnemonic('C');
fileMenu.add(connectServer);
connectServer.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
JOptionPane.showInputDialog("服务器名或者服务器IP:");
}
}
);
JMenuItem excute = new JMenuItem("执行SQL语句");
excute.setMnemonic('E');
fileMenu.add(excute);
excute.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
//运行方法;
}
}
);
JMenuItem exit = new JMenuItem("退出");
exit.setMnemonic('X');
fileMenu.add(exit);
exit.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
System.exit(0);
}
}
);
JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(fileMenu);
JMenu aboutMenu = new JMenu("关于");
aboutMenu.setMnemonic('A');
JMenuItem group = new JMenuItem("小组成员");
group.setMnemonic('G');
group.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent event){
String groupName = "333 " + " 33\n"
+ "333 " + " 33\n"
+ "333 " + " 33\n";
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setText(groupName);
JOptionPane.showMessageDialog(null, textArea, "小组成员", JOptionPane.INFORMATION_MESSAGE);
}
}
);
aboutMenu.add(group);
bar.add(aboutMenu);
JTextArea outputArea = new JTextArea();
JTabbedPane tabbedPane = new JTabbedPane();
JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JTextArea area1 = new JTextArea(100, 65);
JTextArea area2 = new JTextArea(100, 65);
JTextArea area3 = new JTextArea(100, 65);
area1.setEditable(false);
panel1.add(area1);
panel2.add(area2);
panel3.add(area3);
tabbedPane.addTab("Tab one", null, panel1, "First Panel");
tabbedPane.addTab("Tab two", null, panel2, "Second Panel");
tabbedPane.addTab("Tab three", null, panel3, "Thirs Panel");
Container container = getContentPane();
container.setLayout(new GridLayout(2, 1));
container.add(outputArea);
container.add(tabbedPane);
setSize(800,600);
setVisible(true);
}
public static void main(String args[]){
Screen application = new Screen();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}就是这个里面的TabbedPane的问题
panel2.setLayout(new BorderLayout());
panel3.setLayout(new BorderLayout());是不是你要的效果
很无奈啊~~
import java.awt.event.*;
import javax.swing.*;public class Screen extends JFrame {
private static final long serialVersionUID = 41L; public Screen() {
super("DataBase System"); JMenu fileMenu = new JMenu("系统");
fileMenu.setMnemonic('S'); JMenuItem startServer = new JMenuItem("启动服务器");
startServer.setMnemonic('T');
fileMenu.add(startServer);
startServer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// 启动服务器方法;
}
}); JMenuItem connectServer = new JMenuItem("连接服务器");
connectServer.setMnemonic('C');
fileMenu.add(connectServer);
connectServer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
JOptionPane.showInputDialog("服务器名或者服务器IP:");
}
}); JMenuItem excute = new JMenuItem("执行SQL语句");
excute.setMnemonic('E');
fileMenu.add(excute);
excute.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// 运行方法;
}
}); JMenuItem exit = new JMenuItem("退出");
exit.setMnemonic('X');
fileMenu.add(exit);
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
System.exit(0);
}
}); JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
bar.add(fileMenu); JMenu aboutMenu = new JMenu("关于");
aboutMenu.setMnemonic('A'); JMenuItem group = new JMenuItem("小组成员");
group.setMnemonic('G');
group.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
String groupName = "333 " + " 33\n" + "333 "
+ " 33\n" + "333 " + " 33\n";
JTextArea textArea = new JTextArea();
textArea.setEditable(false);
textArea.setText(groupName); JOptionPane.showMessageDialog(null, textArea, "小组成员",
JOptionPane.INFORMATION_MESSAGE);
}
}); aboutMenu.add(group);
bar.add(aboutMenu); JTextArea outputArea = new JTextArea(); JTabbedPane tabbedPane = new JTabbedPane(); JPanel panel1 = new JPanel();
JPanel panel2 = new JPanel();
JPanel panel3 = new JPanel();
JTextArea area1 = new JTextArea(100, 65);
JTextArea area2 = new JTextArea(100, 65);
JTextArea area3 = new JTextArea(100, 65); area1.setEditable(false);
BorderLayout borderLayout1 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
BorderLayout borderLayout3 = new BorderLayout();
panel1.setLayout(borderLayout1);
panel2.setLayout(borderLayout2);
panel3.setLayout(borderLayout3);
panel1.add(area1);
panel2.add(area2);
panel3.add(area3); tabbedPane.addTab("Tab one", null, panel1, "First Panel");
tabbedPane.addTab("Tab two", null, panel2, "Second Panel");
tabbedPane.addTab("Tab three", null, panel3, "Thirs Panel"); Container container = getContentPane();
container.setLayout(new GridLayout(2, 1));
container.add(outputArea);
container.add(tabbedPane); setSize(800, 600);
setVisible(true);
} public static void main(String args[]) {
Screen application = new Screen();
application.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
主要是这里:
BorderLayout borderLayout1 = new BorderLayout();
BorderLayout borderLayout2 = new BorderLayout();
BorderLayout borderLayout3 = new BorderLayout();
panel1.setLayout(borderLayout1);
panel2.setLayout(borderLayout2);
panel3.setLayout(borderLayout3);
panel2.setLayout(new BorderLayout());
panel3.setLayout(new BorderLayout());
panel1.add(area1);
panel2.add(area2);
panel3.add(area3);那3个JTextArea都布满了整个JTabbedPane