+ -
当前位置:首页 → 问答吧 → java button 问题

java button 问题

时间:2014-04-01

来源:互联网

如果我想系chessboard到加个button(要用chesssquare 分开加),我应该点做?
我试左加E句
panel.add(square[1][1]);
但系就出左error了
希望ching们帮帮手
复制内容到剪贴板代码:import javax.swing.*;
import java.awt.*;

public class ChessBoard{

private JFrame a;
private JPanel panel;
private ImageIcon i;
private ChessSquare[][] square = new ChessSquare[8][8];


public ChessBoard(){

a = new JFrame(); // Create a blank window
panel = new JPanel(); // Create a panel

square[1][1] = new ChessSquare();
panel.add(square[1][1]);

a.setContentPane(panel); // Use panel on Window
GridLayout layout = new GridLayout(8, 8,1,1);
panel.setLayout(layout);


a.setTitle("Wizard Chess"); // Change window title
a.setSize(300,300); // Change window size
a.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
a.setVisible(true); // Make it visible


}

}
复制内容到剪贴板代码:import javax.swing.*;
import java.awt.*;

public class ChessSquare
{
private JButton b;

public ChessSquare() {
b = new JButton("i am button");
}

public JButton getB(){
return b;
}

}
Error
复制内容到剪贴板代码:ChessBoard.java:18: error: no suitable method found for add(ChessSquare)
panel.add(square[1][1]);
^
method Container.add(Component,Object,int) is not applicable
(actual and formal argument lists differ in length)
method Container.add(Component,Object) is not applicable
(actual and formal argument lists differ in length)
method Container.add(Component,int) is not applicable
(actual and formal argument lists differ in length)
method Container.add(String,Component) is not applicable
(actual and formal argument lists differ in length)
method Container.add(Component) is not applicable
(actual argument ChessSquare cannot be converted to Component by method in
vocation conversion)
method Component.add(PopupMenu) is not applicable
(actual argument ChessSquare cannot be converted to PopupMenu by method in
vocation conversion)
1 error

作者: peteraobo   发布时间: 2014-04-01

汪汪唔识java

作者: Susan﹏汪汪   发布时间: 2014-04-01

引用:原帖由 Susan﹏汪汪 於 9-3-2014 20:48 发表
汪汪唔识java



回覆就已经好好了
身边冇咩人识java

作者: peteraobo   发布时间: 2014-04-01

ChessSquare系你的自定义class....JPanel当然不能add(ChessSquare)

作者: Susan﹏汪汪   发布时间: 2014-04-01

引用:原帖由 Susan﹏汪汪 於 9-3-2014 20:53 发表
ChessSquare系你的自定义class....JPanel当然不能add(ChessSquare)
咁...我要系ChessSquare入面先add个button,之后再系Chessboard到引入番?

作者: peteraobo   发布时间: 2014-04-01

引用:原帖由 peteraobo 於 2014-3-9 08:58 PM 发表

咁...我要系ChessSquare入面先add个button,之后再系Chessboard到引入番?
唔清楚
汪汪唔识Java

作者: Susan﹏汪汪   发布时间: 2014-04-01

继续等吧(泣)

作者: peteraobo   发布时间: 2014-04-01

引用:原帖由 peteraobo 於 2014-3-9 09:04 PM 发表
继续等吧(泣)
try it
复制内容到剪贴板代码:public class ChessSquare extends JButton
{
public ChessSquare() {
super("i am button");
}

}
[ 本帖最后由 assembly.jc 於 2014-3-10 05:51 AM 编辑 ]

作者: assembly.jc   发布时间: 2014-04-01

睇返JDK JPanel.add系依个
复制内容到剪贴板代码: public Component add(Component comp)
而你个ChessSquare系inherit Object,唔到Component,所以话你错
你成个ChessSquare要重写,可以依#8咁改改佢

作者: sinson123   发布时间: 2014-04-01