我试图理解Java枚举是如何工作的,我得出的结论是它与普通的Java类非常相似,它的构造函数被声明为private.
我刚刚得出这个结论,并不是基于太多的想法,但我想知道我是否想念任何东西.
下面是一个简单的Java枚举和一个等效的Java类的实现.
public enum Direction {
ENUM_UP(0, -1),
ENUM_DOWN(0, 1),
ENUM_RIGHT(1, 0),
ENUM_LEFT(-1, 0);
private int x;
private int y;
private Direction(int x, int y){
this.x = x;
this.y = y;
}
public int getEnumX(){
return x;
}
public int getEnumY(){
return y;
}
}
Run Code Online (Sandbox Code Playgroud)
上面和下面的代码有什么区别?
public class Direction{
public static final Direction UP = new Direction(0, -1) ;
public static final Direction DOWN = new Direction(0, 1) ;
public static final Direction LEFT = new Direction(-1, 0) ; …Run Code Online (Sandbox Code Playgroud) 我想开始一个暑期项目只是为了提高我的编程技巧.为此,我认为如果我可以编写一个将在Windows机器上运行动画图像或类似物品的应用程序作为壁纸,那就太好了.
例如,我想用一些随机的彩色方块替换整个屏幕分辨率,这些方块将以特定的间隔单独改变颜色.然而,我才刚刚意识到我不知道如何开始,以及我在前两年的研究中完成的所有编程对于这项特殊任务都没用.
有人能让我朝着正确的方向前进吗?我想做一些阅读,但我现在知道什么可以帮助我实现这一目标.
为了更清楚我在开始这个项目之前需要知道什么?
问候.
我想使用jQuery append函数无限地将一些html元素从一个容器移动到另一个容器,但是当我点击已经附加的元素时,click事件不会再触发.
基于类似于我的一些线程,我发现附加的元素被剥离了它们的事件监听器.我怎么能避免这种情况,有人可以展示解决方案吗?
这是: 小提琴
$('section.container-A div.elem').click(function() {
$('section.container-B').append(this) ;
}) ;
$('section.container-B div.elem').click(function() {
$('section.container-A').append(this) ;
}) ;
Run Code Online (Sandbox Code Playgroud) 嗨希望有人可以告诉我我的关键事件我做错了什么.
我使用卡片布局来浏览我的两个JPanels atm.为此,我使用了Action Events和Key Events.当按下按钮时,动作事件将在JPanel之间切换,而当按下按键时,按键事件将隐藏按钮.所有关键事件都很好,它做我想要的(在其中一个面板上调用一个方法来设置放在其中的按钮的边界eq:button.setBounds(-1,-1,150,40);但是当我按下任何按钮,按键事件不响应,尽管我按下的按钮上没有任何事件.下面是我的代码,为简单起见,我删除了面板的非相关部分,就像它们要做的那样.
在此先感谢,如果我需要提供更多线索或更多地编辑代码,请告诉我,我会尽力使代码更清晰.
public class PanelContainer extends JPanel implements ActionListener, KeyListener{
GamePanel game = new GamePanel();
MainMenuPanel mainMenu = new MainMenuPanel();
CardLayout cards = new CardLayout();
public PanelContainer(){
setLayout(cards);
this.setFocusable(true);
this.addKeyListener(this);
mainMenu.newGameButton.addActionListener(this);
add(mainMenu, "Card1");
add(game, "Card2");
}
@Override
public void actionPerformed(ActionEvent aevt){
cards.show(this, "Card2");
game.action();
}
@Override
public void keyTyped(KeyEvent kevt){
}
@Override
public void keyPressed(KeyEvent kevt){
}
@Override
public void keyReleased(KeyEvent kevt){
if(kevt.getKeyCode() == KeyEvent.VK_ESCAPE || kevt.getKeyChar() == 'O' || kevt.getKeyChar() == 'o'){
game.shw(); //shw() is …Run Code Online (Sandbox Code Playgroud)