javabuttons的简单介绍
今天给各位分享javabuttons的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java,我有八个Buttons,然后按一个Button,那个Button就从蓝色变成红色。这个应该怎么才能做到???
- 2、java button和key
- 3、Java错误纠正-2
- 4、java 中将Button放入数组
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的信息别忘了在本站进行查找喔。