javaswing实现购买(使用JAVA 编写一个程序,显示5中商品价格,用户可以选择多种商品并在其后的文本框输入购买的数量)

本文目录
- 使用JAVA 编写一个程序,显示5中商品价格,用户可以选择多种商品并在其后的文本框输入购买的数量
- java的swing问题
- 求java swing
- java swing 中的FileDialog
- Javaswing选项卡
- 用javaswing实现网店一键搬家功能
使用JAVA 编写一个程序,显示5中商品价格,用户可以选择多种商品并在其后的文本框输入购买的数量
用java Swing做的?给你个代码,还有运行结果图
package my.test.main;
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import javax.swing.event.AncestorEvent;
import javax.swing.event.AncestorListener;
import javax.swing.event.CaretEvent;
import javax.swing.event.CaretListener;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class Purchase extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JTextField textField_1;
private JTextField textField_2;
private JTextField textField_3;
private JTextField textField_4;
private JLabel label_9;
/**
* Launch the application.
*/
public static void main(String args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Purchase frame = new Purchase();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public Purchase() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
JLabel label = new JLabel("\u5546\u54C11");
label.setBounds(56, 40, 54, 15);
contentPane.add(label);
JLabel label_1 = new JLabel("\u5546\u54C12");
label_1.setBounds(56, 70, 54, 15);
contentPane.add(label_1);
JLabel label_2 = new JLabel("\u5546\u54C13");
label_2.setBounds(56, 100, 54, 15);
contentPane.add(label_2);
JLabel label_3 = new JLabel("\u5546\u54C14");
label_3.setBounds(56, 130, 54, 15);
contentPane.add(label_3);
JLabel label_4 = new JLabel("\u5546\u54C15");
label_4.setBounds(56, 160, 54, 15);
contentPane.add(label_4);
JLabel label_5 = new JLabel("\u5546\u54C1\u540D\u79F0");
label_5.setBounds(56, 7, 54, 15);
contentPane.add(label_5);
JLabel label_6 = new JLabel("单价");
label_6.setBounds(179, 7, 54, 15);
contentPane.add(label_6);
JLabel label_7 = new JLabel("数量");
label_7.setBounds(307, 7, 54, 15);
contentPane.add(label_7);
JLabel label_8 = new JLabel("总价");
label_8.setBounds(145, 224, 54, 15);
contentPane.add(label_8);
label_9 = new JLabel("0");
label_9.setBounds(209, 224, 54, 15);
contentPane.add(label_9);
JLabel label_10 = new JLabel("10");
label_10.setBounds(185, 40, 54, 15);
contentPane.add(label_10);
JLabel label_11 = new JLabel("20");
label_11.setBounds(185, 70, 54, 15);
contentPane.add(label_11);
JLabel label_12 = new JLabel("30");
label_12.setBounds(185, 100, 54, 15);
contentPane.add(label_12);
JLabel label_13 = new JLabel("40");
label_13.setBounds(185, 130, 54, 15);
contentPane.add(label_13);
JLabel label_14 = new JLabel("50");
label_14.setBounds(185, 160, 54, 15);
contentPane.add(label_14);
textField = new JTextField();
textField.setBounds(295, 37, 66, 21);
contentPane.add(textField);
textField.setColumns(10);
textField.addKeyListener(new CalcTotle());
textField_1 = new JTextField();
textField_1.setColumns(10);
textField_1.setBounds(295, 67, 66, 21);
contentPane.add(textField_1);
textField_1.addKeyListener(new CalcTotle());
textField_2 = new JTextField();
textField_2.setColumns(10);
textField_2.setBounds(295, 97, 66, 21);
contentPane.add(textField_2);
textField_2.addKeyListener(new CalcTotle());
textField_3 = new JTextField();
textField_3.setColumns(10);
textField_3.setBounds(295, 127, 66, 21);
contentPane.add(textField_3);
textField_3.addKeyListener(new CalcTotle());
textField_4 = new JTextField();
textField_4.setColumns(10);
textField_4.setBounds(295, 157, 66, 21);
contentPane.add(textField_4);
textField_4.addKeyListener(new CalcTotle());
}
class CalcTotle extends KeyAdapter {
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
int count1, count2, count3, count4, count5;
if (!textField.getText().isEmpty()) {
count1 = Integer.parseInt(textField.getText()) * 10;
} else {
count1 = 0;
}
if (!textField_1.getText().isEmpty()) {
count2 = Integer.parseInt(textField_1.getText()) * 20;
} else {
count2 = 0;
}
if (!textField_2.getText().isEmpty()) {
count3 = Integer.parseInt(textField_2.getText()) * 30;
} else {
count3 = 0;
}
if (!textField_3.getText().isEmpty()) {
count4 = Integer.parseInt(textField_3.getText()) * 40;
} else {
count4 = 0;
}
if (!textField_4.getText().isEmpty()) {
count5 = Integer.parseInt(textField_4.getText()) * 50;
} else {
count5 = 0;
}
final int totle = count1 + count2 + count3 + count4 + count5;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
label_9.setText(totle + "");
}
});
}
}
}
java的swing问题
这个里边有个属性,不知道你用的什么编程工具,你可以在JBuilder做个,后边那个属性框里有个什么属性来着,我忘了,你看看,一看就能找到的,把那个属性选上以后,那些按钮可以随便拖动,随便放哪都行!
求java swing
import java.awt.*;
public class L {
public static void main(String args) {
new W();
}
}
class W extends Frame {
GridLayout g;// 采用此类布局就能包只能够每个组件固定大小,且不因放大而改变
Label;
TextField;
Button b;
W() {
g = new GridLayout(4, 2, 3, 3);// 布局保证放大后图框中的组件也放大
setLayout(g);
b = new Button("确定");
for (int i = 0; i 《 3; i++) {
l = new Label(i + "");
l.setBackground(Color.cyan);
t = new TextField();
}
add(l);
add(t);
add(l);
add(t);
add(l);
add(t);
add(b);//如果想把按钮变到右边,不妨再添加一个空label在现在b的位置
setBounds(10, 10, 200, 200);
setVisible(true);
validate();
}
}
有什么问题,直接hi我就行,我在线
java swing 中的FileDialog
import java.io.File;
/**
*
* @author Administrator
*/
public class EBBFileFilter extends javax.swing.filechooser.FileFilter {
private String Filter_Type;
public EBBFileFilter(String Filter_Type){
this.Filter_Type = Filter_Type;
}
public boolean accept(File f) {
if(Filter_Type.equals("FileFilter_NB")){
if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(".nb")) {
return true;
}else{
return false;
}
}
if(Filter_Type.equals("FileFilter_YB")){
if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(".yb")) {
return true;
}else{
return false;
}
}
if(Filter_Type.equals("FileFilter_RB")){
if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(".rb")) {
return true;
}else{
return false;
}
}
if(Filter_Type.equals("FileFilter_ETF")){
if (f.isDirectory()|| f.getPath().toLowerCase().endsWith(".etf")) {
return true;
}else{
return false;
}
}else{
return true;
}
}
public String getDescription(){
if(Filter_Type.equals("FileFilter_NB")){
return "年报";
}
if(Filter_Type.equals("FileFilter_YB")){
return "月报";
}
if(Filter_Type.equals("FileFilter_RB")){
return "日报";
}
if(Filter_Type.equals("FileFilter_ETF")){
return "模板文件";
}
return null;
}
}
/////////---
//打开报表文件
private void open_BB() {
javax.swing.JFileChooser cf = new javax.swing.JFileChooser() {
public void approveSelection() {
super.approveSelection();
File file = this.getSelectedFile();
open_BB_Data(file);
}
};
cf.setDialogTitle("选择文件");
cf.setCurrentDirectory(new java.io.File("file"));
cf.setMaximumSize(new java.awt.Dimension(425, 245));
cf.addChoosableFileFilter(new EBBFileFilter("FileFilter_NB"));
cf.addChoosableFileFilter(new EBBFileFilter("FileFilter_YB"));
cf.addChoosableFileFilter(new EBBFileFilter("FileFilter_RB"));
cf.setAcceptAllFileFilterUsed(true);
cf.showOpenDialog(this);
}
Javaswing选项卡
参考代码
import javax.swing.*;
import java.awt.*;
public class DemoFrame extends JFrame {
private JTabbedPane tpp;
public DemoFrame() {
tpp = new JTabbedPane(JTabbedPane.LEFT); //指定JTabbedPane靠左
JPanel jp1 = new JPanel();
jp1.setBackground(Color.YELLOW);
tpp.add("TabLevel # 1", jp1);
JPanel jp2 = new JPanel();
jp2.setBackground(Color.RED);
tpp.add("TabLevel # 2", jp2);
add(tpp);
setTitle("JTabbedPane Nested Demonstration");
setSize(new Dimension(600, 500));
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String args) {
DemoFrame main = new DemoFrame();
main.setVisible(true);
}
}
拓展和思考:
关于修改选项卡之间的距离,增加特效等, 在java swing里 其实自定义组件的外观,一般是继承BasicXxxUI 来实现 .
如果想要实现一些特殊的效果, 也可以自己使用按钮, 标签,面板 等 自己模拟一个 选项卡 .
例如 下面的组件, 就是自己做的一个选项卡的效果, 使用按钮来实现, 当鼠标移动到按钮上时, 按钮变黄. 移开时恢复按钮的初始外观. 当按钮被点击时, 按钮变成白色. 始终只能有一个按钮处于被选中状态. 根据选中按钮的不同, 来展示不同的面板.
又比如下面的选项卡, 是 JPanel 里放入图片和文字 来进行模仿的
用javaswing实现网店一键搬家功能
API中的内容:
从类 javax.swing.AbstractButton 继承的方法
doClick
public void doClick()
以编程方式执行“单击”。此方法的效果等同于用户按下并随后释放按钮。
doClick
public void doClick(int pressTime)
以编程方式执行“单击”。此方法的效果等同于用户按下并随后释放按钮。按钮在虚拟“按下”状态下停留 pressTime 毫秒的时间。
参数:
pressTime - “按下”按钮的时间,以毫秒为单位

本文相关文章:
哈夫曼树的构造matlab(编写一个程序,构造一棵哈夫曼树)
2026年9月26日 21:00
怎么看代码是什么语言编写的(怎么看出一个程序是什么语言编写的)
2026年9月7日 06:00
c 向上取整函数(有关C程序设计,编写代码向上(向下)取整)
2026年7月5日 17:50
更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




