小编nIc*_*cOw的帖子

interface作为Java中的方法参数

几天前我接受了采访,并抛出了这样的问题.

问:反转链表.以下代码给出:

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)

我很困惑,因为我不知道接口对象可以用作方法参数.面试官解释了一下,但我仍然不确定.有人可以开导我吗?

java oop interface

46
推荐指数
4
解决办法
6万
查看次数

布局似乎有些问题,JButton在调整窗口大小时显示出意外行为

JRE版本1.7更新3

预期的行为

当我运行该程序时,它按预期工作,一切顺利.当我点击STOP JButton动画停止并且同一文本JButton改变为START.现在当我点击时BALL COLOUR JButton,BALL变化的颜色以及变化的颜色BALL COLOUR JBUTTON也会变化BALL.如果我按原样运行我的应用程序而不调整大小,则整个行为都有效.

意外行为

但当RESIZEJFrame通过拉动时Right Side,那就是当我的应用程序的意外行为被显示时,在某种意义上说,如果我按下STOP JButton然后单击BALL COLOUR按钮,JButton之前单击的文本更改为的文本STARTSTOP在不应该更改时再次更改为当它应该改变为球的颜色时,以及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)

java swing resize jframe jbutton

13
推荐指数
3
解决办法
6135
查看次数

非法表达式Java布尔值?

我正在尝试运行按位数比较,并且我的代码在我的代码的第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)

java if-statement boolean bitwise-operators

11
推荐指数
1
解决办法
1万
查看次数

Runnable JAR缺少图像/文件(资源)

当我从eclipse将我的代码导出为runnable JAR时,即使它们实际上在JAR中,我设置它的所有文件都会丢失,例如按钮图像和其他文件.我已经getClass().getResource在文件前添加了但是当我尝试运行JAR时甚至没有任何建议,有什么建议吗?

java eclipse jar

8
推荐指数
1
解决办法
2万
查看次数

即使在没有聚焦的情况下,也可以在我的APP中获取特定键盘(USB端口)的输入

情况:

我有两个键盘连接到一台计算机(均使用USB线).

两个问题:

  1. 当我的应用程序没有聚焦时,如何获得键盘输入
  2. 从特定键盘获取所有输入并阻止其输入用于其他应用程序.

我希望两个用户使用一台带有两个Keyboard计算机,一个只用于我的应用程序,一个特定的键盘和另一个用户,可以在使用其他软件时使用另一个键盘.键盘端口永远不会改变 这可能是朋友吗?我该怎么办?

c# winforms

7
推荐指数
1
解决办法
2273
查看次数

如何将MouseListener添加到框架

我想在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)

java swing jpanel jframe mouselistener

6
推荐指数
1
解决办法
4万
查看次数

带动作命令的JPasswordField安全性

JPasswordField在我的程序中使用了一个.当我问getPassword(),我得到一个char[]数组.但是,当我添加ActionListenerJPasswordField,问getActionCommand(),我得到的密码作为String.此密码是否在事件对象中保存为String这不是一个安全问题吗?

java security swing jpasswordfield

6
推荐指数
1
解决办法
295
查看次数

如何在java中的for循环中延迟方法?

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)

java methods android for-loop handler

5
推荐指数
1
解决办法
376
查看次数

Java Swing - JDialog默认焦点

在互联网上找到这样一个信息:

"当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)

java swing focus jdialog

4
推荐指数
1
解决办法
3015
查看次数

java中的方法问题

我正在学习创建自定义类,无法弄清楚我出错的地方

从主班......

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值一起被送入相关类?

任何帮助将不胜感激,谢谢.

java methods

4
推荐指数
2
解决办法
96
查看次数