已有258人关注
按钮监听过程中,如何调用外部文本框内容?
发表在Java答疑区 2020-06-12
是否精华
版块置顶:

编写一个基本用药管理界面时,想通过查询按钮根据条件查询,但一直提示JTextField tfbianhao.gettext()需要用final修饰,可final修饰后又不能实时调用文本框里的内容了,如何解决?


分享到:
精彩评论 3
宣_1595683806
学分:124 LV3
2020-06-12
沙发
public JbDrugInfor() {
		//addAction();
		setTitle("基本用药目录查询");
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		setSize(1147, 400); // 设置窗体大小
		setResizable(false);
		// 将窗体放于屏幕正中
		Toolkit tool = Toolkit.getDefaultToolkit();
		Dimension d = tool.getScreenSize();
		setLocation((d.width - getWidth()) / 2, (d.height - getHeight()) / 2);
		
		Container c = getContentPane(); // 获取窗体容器
		c.setLayout(new BorderLayout());
		c.setBackground(null);
		
		JPanel p1 = new JPanel();
		p1.setLayout(new BorderLayout());
		p1.setLayout(null);
		c.add(p1);
		
		final JPanel p2 = new JPanel();
		p2.setLayout(null);
		p2.setBounds(0, 80, 1170, 300);
		p1.add(p2);
		
		JLabel title = new JLabel("基本用药目录管理", JLabel.CENTER);
		title.setFont(new Font("宋体", Font.BOLD, 30));
		title.setBounds(0, 0, 1170, 50);
		p1.add(title);
		
		JPanel p3 = new JPanel();
		p3.setLayout(null);
		p3.setBounds(0, 50, 1200, 30);
		p3.setBorder(BorderFactory.createLineBorder(Color.GRAY, 1));
		p3.setBackground(Color.LIGHT_GRAY);
		p1.add(p3);
		
		JLabel bianhao = new JLabel("编号:",JLabel.RIGHT);
		bianhao.setFont(new Font("仿宋",Font.BOLD,16));
		bianhao.setBounds(10, 0, 60, 30);
		p3.add(bianhao);
		JTextField tfbianhao = new JTextField(null, 12);
		tfbianhao.setFont(new Font("仿宋", Font.PLAIN, 15));
		tfbianhao.setBounds(70, 5, 50, 20);
		p3.add(tfbianhao);
        
		JLabel tym = new JLabel("药品名称:",JLabel.RIGHT);
		tym.setFont(new Font("仿宋",Font.BOLD,16));
		tym.setBounds(140, 0, 90, 30);
		p3.add(tym);
		JTextField tfypmc = new JTextField(null, 12);
		tfypmc.setFont(new Font("仿宋", Font.PLAIN, 15));
		tfypmc.setBounds(230, 5, 120, 20);
		p3.add(tfypmc);
		
		JLabel scs = new JLabel("生产商:",JLabel.RIGHT);
		scs.setFont(new Font("仿宋",Font.BOLD,16));
		scs.setBounds(360, 0, 80, 30);
		p3.add(scs);
		JTextField tfscs = new JTextField(null, 12);
		tfscs.setFont(new Font("仿宋", Font.PLAIN, 15));
		tfscs.setBounds(440, 5, 80, 20);
		p3.add(tfscs);
		
		JLabel lb = new JLabel("类别:",JLabel.RIGHT);
		lb.setFont(new Font("仿宋",Font.BOLD,16));
		lb.setBounds(540, 0, 60, 30);
		p3.add(lb);
		JTextField tflb = new JTextField(null, 12);
		tflb.setFont(new Font("仿宋", Font.PLAIN, 15));
		tflb.setBounds(600, 5, 80, 20);
		p3.add(tflb);
		
		JLabel jx = new JLabel("剂型:",JLabel.RIGHT);
		jx.setFont(new Font("仿宋",Font.BOLD,16));
		jx.setBounds(700, 0, 60, 30);
		p3.add(jx);
		JTextField tfjx = new JTextField(null, 12);
		tfjx.setFont(new Font("仿宋", Font.PLAIN, 15));
		tfjx.setBounds(760, 5, 80, 20);
		p3.add(tfjx);
		
		JLabel ky = new JLabel("可用:",JLabel.RIGHT);
		ky.setFont(new Font("仿宋",Font.BOLD,16));
		ky.setBounds(850, 0, 60, 30);
		p3.add(ky);
		JCheckBox option = new JCheckBox();
		option.setSelected(true);
		option.setBounds(910, 4, 30, 25);
		option.setBackground(Color.LIGHT_GRAY);
		p3.add(option);
		
		JButton b1 = new JButton("查询");
		b1.setFont(new Font("宋体", Font.BOLD, 14));
		b1.setBounds(970, 4, 70, 22);
		b1.setBackground(new Color(247, 239, 93));
		p3.add(b1);
		
		
		
		b1.addActionListener (new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				String bh = tfbianhao.getText().trim();
				String sql = "select * from jbdrug where jbid like '"+bh+"' order by namepy" ;
				
				table.setBorder(new LineBorder(new Color(0, 0, 0)));
		        head=new String[] {
		            "序号","药品编号", "通 用 名", "商品名","规  格","生产厂家","类  别", "剂 型", "基本单位", "包装单位",
		            "库存上限","库存下限","别    名","是否可用"
		        };
				DefaultTableModel tableModel=new DefaultTableModel(queryData(sql),head){
		            public boolean isCellEditable(int row, int column)
		            {
		                return false;
		            }
		        };


根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2020-06-15
板凳

把访问不了的局部变量改成类的成员变量

宣_1595683806
学分:124 LV3
2020-06-17
地板

根号申 发表于2020-06-15 08:45

把访问不了的局部变量改成类的成员变量

谢谢老师!问题解决!

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照