几天前我接受了采访,并抛出了这样的问题.
问:反转链表.以下代码给出:
public class ReverseList {
interface NodeList {
int getItem();
NodeList nextNode();
}
void reverse(NodeList node) {
}
public static void main(String[] args) {
}
}
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我不知道接口对象可以用作方法参数.面试官解释了一下,但我仍然不确定.有人可以开导我吗?
JRE版本1.7更新3
预期的行为
当我运行该程序时,它按预期工作,一切顺利.当我点击STOP
JButton
动画停止并且同一文本JButton
改变为START
.现在当我点击时BALL COLOUR
JButton
,BALL
变化的颜色以及变化的颜色BALL COLOUR
JBUTTON
也会变化BALL
.如果我按原样运行我的应用程序而不调整大小,则整个行为都有效.
意外行为
但当RESIZE
我JFrame
通过拉动时Right Side
,那就是当我的应用程序的意外行为被显示时,在某种意义上说,如果我按下STOP
JButton
然后单击BALL COLOUR
按钮,JButton
之前单击的文本更改为的文本START
将STOP
在不应该更改时再次更改为当它应该改变为球的颜色时,以及BALL COLOUR
JButton
将保持不变或将转向BLUE
的颜色.我附上照片了解更多信息.但是如果你试图将它重新调整到原来的大小或更接近它,那么事情就会恢复正常.为什么会这样?任何想法或线索将非常感激.
正如我的应用程序运行如上所述的预期行为:
这里是意想不到的行为
底线:
为什么应用程序像往常一样运行BEGINNING
,而不是RESIZED
通过拖动它RIGHT SIDE
,但是如果你把它带到它的原始大小或更接近它,事情恢复正常,它按预期工作?
所以考虑到这个场景,我在程序中做错了什么.或者这正是我应该使用的情况SwingWorker
,或者这是一个问题Layout
,或隐藏的相关内容Content Pane
.请放轻装:-)
这是我正在使用的代码,我把它降到最低限度,因为我想要证明我的问题:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class …
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行按位数比较,并且我的代码在我的代码的第30行上使用"if"语句不断出现非法表达式.
我的代码如下:
public class Project7 {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
double P = keyboard.nextDouble();
double Q = keyboard.nextDouble();
double R = keyboard.nextDouble();
double S = keyboard.nextDouble();
boolean First_Relation;
boolean Second_Relation;
if (P > Q) First_Relation = true;
if (R < S) Second_Relation = true;
if (First_Relation = true) & (Second_Relation = true);
System.out.println("Given the values for p,q,r, and s the expression "
+ "(p > q) && !(r < s) evaluates to " …
Run Code Online (Sandbox Code Playgroud) 当我从eclipse将我的代码导出为runnable JAR时,即使它们实际上在JAR中,我设置它的所有文件都会丢失,例如按钮图像和其他文件.我已经getClass().getResource
在文件前添加了但是当我尝试运行JAR时甚至没有任何建议,有什么建议吗?
我有两个键盘连接到一台计算机(均使用USB线).
我希望两个用户使用一台带有两个Keyboard
的计算机,一个只用于我的应用程序,一个特定的键盘和另一个用户,可以在使用其他软件时使用另一个键盘.键盘端口永远不会改变 这可能是朋友吗?我该怎么办?
我想在mt JFrame框架中添加一个mouselistener,但是当我执行frame.addMouseListener(this)时,我得到一个错误,我无法在静态方法中使用它
我正在创建一个应用程序来检测鼠标点击,然后在int点击中显示它
码
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class numberOfClicks implements MouseListener{
static int clicks = 0;
@Override
public void mouseClicked(MouseEvent e) {
clicks++;
}
static JTextField text = new JTextField();
static String string = clicks+" Clicks";
static JFrame frame = new JFrame("Click Counter");
public static void frame(){
Font f = new Font("Engravers MT", Font.BOLD, 23);
text.setEditable(false);
text.setBackground(Color.BLUE);
text.setFont(f);
text.setForeground(Color.GREEN);
text.setBorder(BorderFactory.createLineBorder(Color.BLUE));
text.setText(string);
frame.add(text, BorderLayout.SOUTH);
frame.setResizable(false); …
Run Code Online (Sandbox Code Playgroud) 我JPasswordField
在我的程序中使用了一个.当我问getPassword()
,我得到一个char[]
数组.但是,当我添加ActionListener
的JPasswordField
,问getActionCommand()
,我得到的密码作为String
.此密码是否在事件对象中保存为String
?这不是一个安全问题吗?
我assign_backgrounds()
在for循环中延迟方法时遇到问题.我正在尝试创建一个西蒙说的游戏,但不是延迟并显示"西蒙"按下的下一个按钮,它会立即显示所有按钮.这里的任何帮助将不胜感激.谢谢.
boolean simonsTurn = true;
int x = 4;
int s;
int delay = 1000;
int array_values[] = new int[]{1,2,3,4};
public void simonSays() {
// running = true;
if (simonsTurn == true) {
go();
for (int i = 0; i < x; i++) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
go();
}
}, 1000);
}
}
}
public void go(){
s = random_int_between(0,3);
assign_backgrounds(array_values[s]);
}
public void assign_backgrounds( …
Run Code Online (Sandbox Code Playgroud) "当JDialog(或JFrame)可见时,默认情况下焦点放在第一个可聚焦组件上."
让我们考虑一下这样的代码:
public class MyDialog extends JDialog{
// Dialog's components:
private JLabel dialogLabel1 = new JLabel("Hello");
private JLabel dialogLabel2 = new JLabel("Message");
private JButton dialogBtn = new JButton("Sample Btn text");
public MyDialog(JFrame parent, String title, ModalityType modality){
super(parent, title, modality);
dialogBtn.setName("Button"); //
dialogLabel1.setName("Label1"); // - setting names
dialogLabel2.setName("Label2"); //
setTitle(title);
setModalityType(modality);
setSize(300, 100);
setLocation(200, 200);
// adding comps to contentPane
getContentPane().add(dialogLabel1, BorderLayout.PAGE_START);
getContentPane().add(dialogBtn, BorderLayout.CENTER);
getContentPane().add(dialogLabel2, BorderLayout.PAGE_END);
pack();
}
public void showDialog(){
setVisible(true);
listComps(rootPane.getComponents());
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
} …
Run Code Online (Sandbox Code Playgroud) 我正在学习创建自定义类,无法弄清楚我出错的地方
从主班......
MyPoint p1 = new MyPoint(317, 10);
错误说:
constructor MyPoint in class MyPoint cannot be applied to given types;
required: no arguments
found: int, int
reason: actual and formal argument lists differ in length
Run Code Online (Sandbox Code Playgroud)
这是来自我的MyPoint类:
private int x, y;
public void MyPoint(int x, int y)
{
this.x = x;
this.y = y;
}
Run Code Online (Sandbox Code Playgroud)
为什么MyPoint(317,10)不与x和y值一起被送入相关类?
任何帮助将不胜感激,谢谢.