java 多个 panel_java – 在JFrame中组织多个JPanel的好方法是...
我想要做的是在框架内组织五个单独的JPanel.输出应该是这样的:顶部会有一个面板.顶部面板正下方的两个面板垂直分割空间,然后另外两个面板水平分割剩余空间.
我无法弄清楚如何组织如上所述的面板,我认为这是因为我只是不知道正确的语法.所以任何帮助或建议都非常感谢这里是我迄今为止的代码.
import java.lang.String.*;
import java.lang.Exception.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Display extends JFrame implements ActionListener{
// instance variables
private static final int FRAME_WIDTH = 400;
private static final int FRAME_HEIGHT = 350;
private static final int FRAME_X_ORIGIN = 150;
private static final int FRAME_Y_ORIGIN = 150;
private static final int BUTTON_WIDTH = 90;
private static final int BUTTON_HEIGHT = 30;
private JButton readFile;
private JButton exit;
private JButton stats;
private JButton blank;
private JCheckBox avgHomeworkScore;
private JCheckBox avgTestScore;
private JCheckBox sdHomeworkScore;
private JCheckBox sdTestScore;
private JRadioButton buttonOne;
private JRadioButton buttonTwo;
private JRadioButton buttonThree;
private JRadioButton buttonFour;
private JPanel header;
private JPanel statistics;
private JPanel courses;
private JPanel display;
private JPanel action;
public static void main(String[] args){
Display frame = new Display();
frame.setVisible(true);
}
public Display(){
Container contentPane;
//Set the frame properties
setSize (FRAME_WIDTH, FRAME_HEIGHT);
setResizable (false);
setTitle ("CSCE155A Course Offerings Viewer");
setLocation (FRAME_X_ORIGIN, FRAME_Y_ORIGIN);
contentPane = getContentPane();
contentPane.setLayout(new GridLayout());
contentPane.setBackground( Color.white );
//header
//Create and Place the Buttons on the frame
readFile = new JButton("Read File");
readFile.setBounds(4, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
exit = new JButton("Exit");
exit.setBounds(100, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
stats = new JButton("Stats");
stats.setBounds(195, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
blank = new JButton("Clear");
blank.setBounds(290, 285, BUTTON_WIDTH, BUTTON_HEIGHT);
action = new JPanel(new FlowLayout());
action.setBackground(Color.blue);
action.add(readFile);
action.add(exit);
action.add(stats);
action.add(blank);
contentPane.add(action);
//Register this frame as an Action listener of the buttons
readFile.addActionListener(this);
exit.addActionListener(this);
stats.addActionListener(this);
blank.addActionListener(this);
//Create and Place the checkboxes on the frame
avgHomeworkScore = new JCheckBox();
avgHomeworkScore.setMnemonic(KeyEvent.VK_H);
contentPane.add(avgHomeworkScore);
avgHomeworkScore.setSelected(true);
avgTestScore = new JCheckBox();
avgTestScore.setMnemonic(KeyEvent.VK_T);
avgTestScore.setSelected(true);
sdHomeworkScore = new JCheckBox();
sdHomeworkScore.setMnemonic(KeyEvent.VK_S);
sdHomeworkScore.setSelected(true);
sdTestScore = new JCheckBox();
sdTestScore.setMnemonic(KeyEvent.VK_D);
sdTestScore.setSelected(true);
statistics = new JPanel(new GridLayout(0,1));
contentPane.add(statistics);
statistics.add(avgHomeworkScore);
statistics.add(avgTestScore);
statistics.add(sdHomeworkScore);
statistics.add(sdTestScore);
avgHomeworkScore.addActionListener(this);
avgTestScore.addActionListener(this);
sdHomeworkScore.addActionListener(this);
sdTestScore.addActionListener(this);
//create the radio buttons
buttonOne = new JRadioButton();
buttonOne.setMnemonic(KeyEvent.VK_1);
buttonOne.setSelected(true);
buttonTwo = new JRadioButton();
buttonTwo.setMnemonic(KeyEvent.VK_2);
buttonThree = new JRadioButton();
buttonThree.setMnemonic(KeyEvent.VK_3);
buttonFour = new JRadioButton();
buttonFour.setMnemonic(KeyEvent.VK_4);
ButtonGroup group = new ButtonGroup();
group.add(buttonOne);
group.add(buttonTwo);
group.add(buttonThree);
group.add(buttonFour);
buttonOne.addActionListener(this);
buttonTwo.addActionListener(this);
buttonThree.addActionListener(this);
buttonFour.addActionListener(this);
courses = new JPanel(new GridLayout(0,1));
courses.setBackground(Color.blue);
courses.add(buttonOne);
courses.add(buttonTwo);
courses.add(buttonThree);
courses.add(buttonFour);
contentPane.add(courses);
//Exit program when the viewer is closed
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
java 多个 panel_java – 在JFrame中组织多个JPanel的好方法是...相关推荐
- Java main正确形参_Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形参?( )...
Java application 中的主类需包含 main 方法,以下哪项是 main 方法的正确形参?( ) 答:String ar[] 美国对德国的文化清洗活动持强烈的批评态度.() 答:√ 根据 ...
- java怎么调用存储函数_java中调用存储过程或存储函数的方法
java中调用存储过程或存储函数的方法 1.调用存储过程:CallableStatement clstmt = null;try {clstmt = conn.prepareCall("{c ...
- java 申请不定长度数组_java中申请不定长度数组ArrayList的方法
如下所示: import java.util.ArrayList; //java中申请不定长度数组 public class Test01 { public static void main(Stri ...
- java list 对象 json字符串_Java中Json字符串直接转换为对象的方法(包括多层List集合)...
使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...
- java 获取键盘点击_Java中获取键盘输入值的三种方法介绍
程序开发过程中,需要从键盘获取输入值是常有的事,但Java它偏偏就没有像c语言给我们提供的scanf(),C++给我们提供的cin()获取键盘输入值的现成函数!Java没有提供这样的函数也不代表遇到这 ...
- JFrame(框架)中添加和设置JPanel(面板)的方法
Swing 程序用JFrame 对象实现了它们的窗口.JFrame 类是AWT Frame 类的一个子类.它还加入了一些Swing 所独有的特性.与 Frame 的使用十分相似.唯一的区别在于, ...
- java 判断是否中文字符_java中判断字符串是否是中文的方法
java中判断字符串是否是中文的方法 发布时间:2020-06-25 14:07:38 来源:亿速云 阅读:79 作者:Leah 本篇文章为大家展示了java判断字符串是否为中文的方法,代码简明扼要并 ...
- java 如何跳出if语句_java中跳出或终止if语句的方法
1.break break:跳出当前循环:但是如果是嵌套循环,则只能跳出当前的这一层循环,只有逐层break才能跳出所有循环.for (int i = 0; i < 10; i++) { if ...
- java 如何添加背景音乐_Java JFrame 中添加背景音乐方法
在想让音乐开始播放的时候 调用该方法就可以,如:如果想在一打开JFrame的时候就播放,那么在JFrame的构造方法中添加该方法即可.以此类推. import java.applet.AudioCli ...
最新文章
- ACM—各种模拟 总结(字符串,尺取法,数学问题)习题汇总
- python 画蝴蝶_ProE常用曲线方程:Python Matplotlib 版本代码(蝴蝶曲线)
- C++ Primer 5th笔记(chap 12 动态内存)weak_ptr
- Java的if判断对象为null时,null放在比较运算符的左边还是右边较好?
- php post 500 ajax,php – Laravel 5:Ajax Post 500(内部服务器错误)
- Echarts数据可视化series-effectscatter特效散点图,开发全解+完美注释
- webpack如何全局引入jquery和echarts?
- 能跑的东西,尽量继续跑,平稳过渡
- 基于ssm的宠物医院信息管理系统 java毕业设计源码介绍
- JavaWeb快速入门(一)——新建JavaWeb项目
- Ubuntu下,远程访问服务器,路径只显示最后打开的文件夹问题
- python 自动划分训练集和测试集
- WPE封包外挂教程(上)
- 2021-09-10ESSM, CVR预估到底要预估什么
- 平行时代的平行智能体系(王飞跃)
- 初识JavaScript,体验JS的美好
- 科技新品 | 富士胶片研发出全球最大容量数据流磁带;iGame发布内存新品“古德白”...
- 正则-完美的身份证以及真实姓名
- “影子公司” 汇润成功入主深航
- Whistle pc抓包,手机抓包,https抓包
热门文章
- 【逆强化学习-2】最大熵学习(Maximum Entropy Learning)
- ASP.NET MVC 阻止通过URL访问服务器上的静态资源文件
- Ubuntu作为服务器其tomcat被远程访问问题
- Windows下MySQL压缩包.zip的安装
- oracle9i 恢复数据库,Oracle9i RMAN备份及恢复步骤(zt)
- wifi 信道_WiFi网速太慢,四招就可以让无线网络变得顺畅
- 职称计算机技巧集锦,2014职称计算机考试《Excel》使用技巧集锦(4)
- foxmail地址簿怎么添加分组 foxmail地址簿新建分组的教程
- 搜狗输入法为什么按空格出字 搜狗输入法按空格出字怎么设置
- 谷歌浏览器如何更改语言