javabuttons的简单介绍

博主:adminadmin 2023-01-08 23:12:06 626

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

本文目录一览:

java,我有八个Buttons,然后按一个Button,那个Button就从蓝色变成红色。这个应该怎么才能做到???

JButton jb1 = new JButton("1");

JButton jb2 = new JButton("2");

JButton jb3 = new JButton("3");

。。。 。。。

//设置背景色可见

jb1.setOpaque(true);

jb2.setOpaque(true);

jb3.setOpaque(true);

。。。。。。

//实例化 ActionListener 对象

ButActionListener bta = new ButActionListener ();

//为按钮添加 ActionListener 对象

jb1.addActionListener(bta);

jb2.addActionListener(bta);

jb3.addActionListener(bta);

... ...

//将所有的按钮放到集合中去

list buts = new ArrayList();

buts.add(jb1);

buts.add(jb2);

buts.add(jb3);

......

//把所有的按钮加到 面板中去

//这里省略.....

//ActionListener 类的实现

class ButActionListener implements ActionListener {

public void actionPerformed(ActionEvent arg0) {

JButton test = (JButton)arg0.getSource();

for(int i=0;ibuts.size();i++)

{

JButton b = (JButton )buts.get(i);

if(test.equals(b) || test == b)

b.setBackground(Color.BLUE);

else

b.setBackground(默认色);

}

}

}

// 这样就可以实现点击一个变颜色 其他的回复原状

其他回答者的 是点击哪个 哪个变 但是 变过之后就回不去了

哈哈

你要是不给分 也太... ...

java button和key

keyTyped相比是个高级的事件 你要输完之后才会有反应的吧

如果输入正常 那你看看有没有把监听器加入JFrame的addKeyListener()

Java错误纠正-2

import java.awt.Button;

import java.awt.CardLayout;

import java.awt.Color;

import java.awt.Frame;

public class A6_GUI_CardLayout

{

public static void main(String[] args)

{

Frame frame = new Frame("hanxiucao");

frame.setBounds(300, 300, 300, 200);

CardLayout cardlayout = new CardLayout();

frame.setLayout(cardlayout);

Button[] buttons = new Button[5];

for (int i = 0; i 5; i++)

{

buttons[i] = new Button("button" + i);

/**

* cardlayout布局必须有一个字符串描述加入的组件 "a"

*/

frame.add(buttons[i], "a");

}

/**

* buttons数组只有0-4没有1-5,

*/

buttons[0].setBackground(Color.green);

buttons[1].setBackground(Color.blue);

buttons[2].setBackground(Color.red);

buttons[3].setBackground(Color.yellow);

buttons[4].setBackground(Color.PINK);

frame.pack();

frame.setVisible(true);

while (true)

{

try

{

Thread.sleep(1000);

}

catch (InterruptedException e)

{

e.printStackTrace();

}

cardlayout.next(frame);

}

}

}

java 中将Button放入数组

你可以定义的管理Button的类就有点像MVC中的控制器角色,而这个控制器角色通常是与视图和模型通信的..

import java.awt.event.ActionListener;

import java.util.ArrayList;

import java.util.List;

import javax.swing.Icon;

import javax.swing.JButton;

public class ButtonManager {

private ListJButton btnList = new ArrayListJButton();

private ActionListener clickHandler;

private int column;

public ButtonManager(ActionListener buttonsClickHandler, int column) {

if (column = 0) {

throw new IllegalArgumentException("column 0:" + column);

}

this.clickHandler = buttonsClickHandler;

this.column = column;

}

public int getButtonCount() {

return btnList.size();

}

public ListJButton getButtons() {

return btnList;

}

public ButtonManager(ActionListener buttonsClickHandler) {

this.clickHandler = buttonsClickHandler;

}

public ActionListener getItemsClickHandler() {

return clickHandler;

}

public JButton addButton(String text, Icon icon) {

JButton btn = new JButton(text, icon);

if (clickHandler != null)

btn.addActionListener(clickHandler);

btnList.add(btn);

return btn;

}

public void show(JButton btn) {

show(btn, true);

}

public static final class Location {

private int row, column;

private Location() {

}

public Location(int row, int column) {

this.row = row;

this.column = column;

}

public int getRow() {

return row;

}

public int getColumn() {

return column;

}

private String locationString;

public String toString() {

if (locationString == null) {

return locationString = String.format("(%d,%d)", row, column);

}

return locationString;

}

}

public Location getLocation(JButton btn) {

int ix = btnList.indexOf(btn);

if (ix 0)

return null;

Location location = new Location();

location.row = ix / this.column;

location.column = ix % column;

return location;

}

public Location hide(JButton btn) {

return show(btn, false);

}

public JButton getButton(int row, int column) {

checkRange(row, column);

int ix = row * this.column + column;

return btnList.get(ix);

}

public int getColumnCount() {

return column;

}

public int getRowCount() {

if (this.column == 0)

return getButtonCount();

return (getButtonCount() + this.column - 1) / this.column + 1;

}

private void checkRange(int row, int column) {

if (column 0 || column this.column - 1)

throw new IllegalArgumentException("column outof Range:"

+ this.column);

int maxRowCount = getRowCount();

if (row 0 || row = maxRowCount)

throw new IllegalArgumentException("row out of Range:"

+ maxRowCount);

}

public JButton removeAt(int row, int column) {

checkRange(row, column);

int ix = row * this.column + column;

return btnList.set(ix, null);

}

private Location show(JButton btn, boolean visible) {

int ix = btnList.indexOf(btn);

if (ix 0)

return null;

btn.setVisible(visible);

return new Location(ix / this.column, ix % this.column);

}

}

javabuttons的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javabuttons的信息别忘了在本站进行查找喔。