jpane1_如何用Java中的另一个JPanel替换两个JPanel之...

这是一个非常简单的示例,它应近似于您的描述.在左侧,我们有一个拥抱按钮可以切换右侧面板的内容.在右边,您有一个带有给定边框和标签的面板.当您按下按钮时,右侧的内容将与另一个面板交换.

import java.awt.BorderLayout;

import java.awt.CardLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.BorderFactory;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.SwingUtilities;

public class TestCardLayout2 {

protected void initUI() {

JFrame frame = new JFrame();

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel leftPanel = new JPanel(new BorderLayout());

JLabel label = new JLabel("Left panel");

leftPanel.add(label, BorderLayout.NORTH);

JButton button = new JButton("Toggle right panel");

leftPanel.add(button);

frame.add(leftPanel, BorderLayout.WEST);

final CardLayout cardLayout = new CardLayout();

final JPanel rightPanel = new JPanel(cardLayout);

rightPanel.setPreferredSize(new Dimension(200, 500));

JPanel rightPanel1 = new JPanel(new FlowLayout(FlowLayout.LEFT));

rightPanel1.setBorder(BorderFactory.createLineBorder(Color.RED));

JPanel rightPanel2 = new JPanel(new FlowLayout(FlowLayout.RIGHT));

rightPanel2.setBorder(BorderFactory.createLineBorder(Color.BLUE));

JLabel label1 = new JLabel("Right panel 1 with a red border");

JLabel label2 = new JLabel("Right panel 2 with a blue borer");

rightPanel1.add(label1);

rightPanel2.add(label2);

rightPanel.add(rightPanel1, "panel1");

rightPanel.add(rightPanel2, "panel2");

frame.add(rightPanel, BorderLayout.EAST);

button.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent e) {

cardLayout.next(rightPanel);

}

});

frame.pack();

frame.setVisible(true);

}

public static void main(String[] args) {

SwingUtilities.invokeLater(new Runnable() {

@Override

public void run() {

new TestCardLayout2().initUI();

}

});

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该项目为JavaSe项目,用Java GUI来做的(JFrame,JPane等) 因为该项目没有用到框架,没有jar包,用了原生的jdbc,所以项目较小。 想改少点积分下载,但编辑时积分不能更改。但是也没什么,自认为该项目做的很好,很漂亮。给出了该次实训的报告。 分为两部分: 1.管理员 2.员工 管理员能进行员工薪资的增删改查,员工能进行自己薪资的查询。 管理员工程入口com.lxl.main.LoginJFrame类右键》Run As Java Application 员工查询工程入口com.lxl.main.LoginJFrame类右键》Run As Java Application 给出项目所需的mysql数据库emp数据库的administrator表和employees表 员工登录进行查询时,用户名为管理员插入员工薪资信息时的工号,密码默认为000000, 登录后可以进行更改密码。 该项目较简单,但界面很漂亮。适宜做课程设计,不适宜做毕业设计,如果想作为毕业设计,需要 自己改的更复杂些。 给出了该项目的报告共22页。 报告目录给出 目录 职工工资信息管理系统系统设计报告 2 1 课程设计任务概述 2 2 系统需求分析 2 2.1 系统功能分析 2 2.2 用例图及用例说明 2 2.2.1员工查询工资用例说明 2 2.2.2管理员管理员工工资信息用例说明 3 3 系统设计 4 3.1 系统类图 4 3.2 系统活动图 7 3.3 系统时序图 9 4 系统实现 11 5 系统测试 18 6 课程设计总结 22 7 参考文献 22 有问题请咨询QQ:1683430156
南京工程学院 实 验 报 告 课程名称 JAVA基础 实验项目名称 图形用户界面设计 实验学生班级 实验学生姓名 学    号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字 年 月 日 实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等 多种布局方式,掌握窗口菜单和快捷菜单设计方式。 理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事 件的Java图形用户界面。 熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新 的税收政策,以下为截图: 因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500) tax=(wage-3500)*0.25-1005; if(wage>38500&&wage<=58500) tax=(wage-3500)*0.3-2755; if(wage>58500&&wage<=83500) tax=(wage-3500)*0.35-5505; if(wage>83500) tax=(wage-3500)*0.45-13505; text.setText(""+tax); } } 以上算法是根据税率表设计的,具体为: 我国规定个人收入在3500元起征个人所得税,分了多个阶段: 3500以下:不收税 3500以上到5000以下部分:3% 5000以上到8000以下部分:10% 8000以上到以下部分:20% 125000以上到385000以下部分:25% 385000以上到585000以下部分:30% 585000以上到835000以下部分:35% 83500以上:45% 首先算出每个阶段的速扣数,然后用此公式: 应纳个人所得税税额=(应纳税所得-扣除标准)*适用税率-速算扣除数。 然后就得出以上算法。 四、实验原始纪录(源程序、数据结构等) import java.awt.*; import java.awt.event.*; import javax.swing.*; public class WageJFrame extends JFrame implements ActionListener { private JTable table;//表格 private Button button_b;//按钮 private Object datas[][];//数据 String titles[];//标题(为空) private JTextField text;//个人所得税 private JTextField text_wage;//输入的工资 public WageJFrame() { super("计算个人所得税"); Dimension dim=getToolkit().getScreenSize();//获得屏幕分辨率 this.setBounds(dim.width/4,dim.height/4,dim.width/2,dim.height/2);//设置窗口 大小 this.setDefaultCloseOperation(EXIT_ON_CLOSE);//关闭窗口 this.datas=new Object[8][4];//设置表格长宽 JLabel label=new JLabel("工资");//"工资"标签 text_wage=new JTextField("5000",7);//默认工资 JPanel jpane1=new JPanel();//面板 jpane1.add(label);//把标签加入面板 jpane1.add(text_wage);//把输入工资的文本框加入面板 this.getContentPane(

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值