「java监听组合框」java中监听事件

博主:adminadmin 2023-03-23 03:02:08 972

今天给各位分享java监听组合框的知识,其中也会对java中监听事件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求JAVA代码三叶玫瑰线 r=asin3θ或r=acos3θ。别把那个垃圾的粘过来,谢谢

package epm.mp.gateway.util;

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.Graphics;

import java.awt.event.ComponentEvent;

import java.awt.event.ComponentListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import javax.swing.JComboBox;

import javax.swing.JFrame;

public class Rose extends JFrame implements ComponentListener, ItemListener {

private JComboBox comboboxColor;

// 颜色组合框

public Rose() {

super("玫瑰线");

this.setSize(600, 400);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setLayout(new FlowLayout());

Object data[] = { Color.red, Color.green, Color.blue };

comboboxColor = new JComboBox(data);

// 颜色组合框

comboboxColor.addItemListener(this);

// 注册组合框的选择事件监听器

this.add(comboboxColor);

this.addComponentListener(this);

// 注册框架窗口的选择事件监听器

this.setVisible(true);

this.validate();

}

//r=asin3θ

//转化为直角坐标系

// 输入下面程序用于输出三叶玫瑰线的图形,三叶玫瑰线的参数方程为:

// x = r * sin(3t)* cos(t);

//y = r *sin(3t) * sin(t)

//其中: 0 = t = 2 * 3.14159

//

public void paint(Graphics g){

paint(g,3);

}

public void paint(Graphics g,int roses) {

int x0, y0;

// 原点坐标

x0 = this.getWidth() / 2;

// 窗口的宽度

y0 = this.getHeight() / 2;

g.setColor((Color) comboboxColor.getSelectedItem());

// 设置画线颜色为组合框选中颜色

g.drawLine(x0, 0, x0, y0 * 2);

g.drawLine(0, y0, x0 * 2, y0);

int j = 0;

while (j 200) {

for (int i = 0; i 1023; i++) {

double angle = i * Math.PI / 512;

double radius = j * Math.sin(roses * angle);

int x = (int) Math.round(radius * Math.cos(angle) );

int y = (int) Math.round(radius * Math.sin(angle));

g.fillOval(x0 + x, y0 + y, 1, 1);//画点

}

j += 10;

}

}

public void itemStateChanged(ItemEvent e) {

// 选中单选按钮

repaint();

// 重画

}

public void componentResized(ComponentEvent e) {

// 改变窗口大小时

repaint();

}

public void componentMoved(ComponentEvent e) {

}

public void componentHidden(ComponentEvent e) {

}

public void componentShown(ComponentEvent e) {

}

public static void main(String[] arg) {

new Rose();

}

}

JAVA中如何实现一个监听类去监听两个文本框?

我写了一个简单的 用一个监听类分别加到两个文本框里

public class Test extends JFrame{

private JTextField textField1 = new JTextField(10);

private JTextField textField2 = new JTextField(10);

private JLabel label = new JLabel("Label");

private JPanel panel = new JPanel();

public Test(){

textField1.addActionListener(new MyListener());

textField2.addActionListener(new MyListener());

panel.add(textField1);

panel.add(textField2);

add(panel,BorderLayout.CENTER);

add(label,BorderLayout.SOUTH);

pack();

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

class MyListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

if (e.getSource()==textField1) {//判断是那个文本域插入字符

label.setText("textArea1");

}else {

label.setText("textArea2");

}

}

}

public static void main(String[] args) {

new Test();

}

}

JAVA Swing 如何监听JMenuItem下拉菜单,实现相应功能?

第一个问题:使用veiwMenuItem.addActionListener()方法添加监听器。具体使用可以查看JDK API

第二个问题,一时想到两种实现方法

1、你要知道,JPanel不单是一个组件,更是一个组件容器,所以你可以往其中添加一个表格组件,而这个表格组件则将你的查询结果显示出来

2、如果你不希望使用其他组件了的话,倒也可以重载paint()方法,直接将你要显示的信息“绘”出来。例如:

public class DisplayPanel extends JPanel{

public void pain(Graphics g){

super.paint(g);

g.drawString(student.getName());

g.drawString(student.getNumber());

.... ....

}

}

然后将这个Panel添加到你原来的位置即可。

请教java组合框的事件监听器

根据文档上说的

Combo boxes also generate item events, which are fired when any of the items' selection state changes. Only one item at a time can be selected in a combo box, so when the user makes a new selection the previously selected item becomes unselected.Thus two item events are fired each time the user selects a different item from the menu.

因此实际上一个是unselected消息,一个是selected消息,所以有两次

lz如果想获取新的选项信息,应该使用ActionListener,而不是ItemListener

以下是文档上的例子

public class ComboBoxDemo ... implements ActionListener {

. . .

petList.addActionListener(this) {

. . .

public void actionPerformed(ActionEvent e) {

JComboBox cb = (JComboBox)e.getSource();

String petName = (String)cb.getSelectedItem();

updateLabel(petName);

}

. . .

}

Java 组合框的运用

问题修复后的效果图

问题出现的地方

//String sz[] = { "10,14,18" };//你用双引号把10,14,18全部括起来了,只能算1个元素了

String sz[] = { "10","14","18" };//要单独分开

一个元素本来也没啥问题,但是你后面的for循环,把数组下标移动到了1就会出现数组下标越界异常

for (int i = 0; i  3; i++) {

com.addItem(sz[i]);//如果数组SZ只有1个元素,下标是0, 如果下标是1时,就会报异常

}

java 文本框监听

//简单的帮你写了基本功能 如下:

import java.awt.event.FocusEvent;

import java.awt.event.FocusListener;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class TestJT  extends JPanel{

 public TestJT() {

  

  setLayout(null);

  JLabel label=new JLabel("请输入省份证:");

  label.setOpaque(true);

  label.setBounds(50, 30,100, 25);

  add(label);

  

  final JTextField tf1=new JTextField();

  tf1.setOpaque(true);

  tf1.setBounds(160,30,80,30);

  add(tf1);

  

  tf1.addFocusListener(new FocusListener() {

   

   @Override

   public void focusLost(FocusEvent e) {

    if( tf1.getText().trim().length()!=18){

     JOptionPane.showMessageDialog(null, "输入的身份证号码不是18位");

     return;

    }

   }

   @Override

   public void focusGained(FocusEvent e) {

    // TODO Auto-generated method stub  

   }

  });

 

  JLabel labe2=new JLabel("请输入名字:");

  labe2.setOpaque(true);

  labe2.setBounds(50, 70,100, 25);

  add(labe2);

  

  final JTextField tf2=new JTextField();

  tf2.setOpaque(true);

  tf2.setBounds(160,70,80,30);

  add(tf2);

  

  JLabel labe3=new JLabel("请输入性别:");

  labe3.setOpaque(true);

  labe3.setBounds(50, 110,100, 25);

  add(labe3);

  final JTextField tf3=new JTextField();

  tf3.setOpaque(true);

  tf3.setBounds(160,110,80,30);

  add(tf3);

 }

 public static void main(String[] args) {

  JFrame frame=new JFrame();

  JPanel p=   new TestJT();

  frame.add(p);

  frame.setVisible(true);

  frame.setSize(500, 500);

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 }  

}

关于java监听组合框和java中监听事件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。