小编Hov*_*els的帖子

更改JPanel Graphics g颜色绘制线

我有一个类似于油漆的程序.并且我正在尝试实现更改笔颜色,但是当我更改颜色时,当前绘制的所有内容都更改为颜色RED,例如在我的程序中,如何使其不会重绘当前绘制到当前所有内容的所有内容改变颜色?下面的代码将编译并运行

JPanel绘图区域的类

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.JPanel;
//refer to http://jkost.ergoway.gr/jnkjavaconnection/freedraw.html for the algorithm.
public class STDrawingArea extends JPanel {
    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    ArrayList<Rectangle> dPoint = new ArrayList<Rectangle>();
    Point point = new Point(-1,-1);
    private Color currentColor;

    public STDrawingArea()
    {
         setBorder(BorderFactory.createLineBorder(Color.black));
         setBackground(Color.WHITE);

         addMouseMotionListener(new MouseAdapter() {
            public void mouseDragged(MouseEvent e) 
            {
                dPoint.add(new Rectangle(point.x,point.y,e.getX(),e.getY()));
                point.x = e.getX();
                point.y = e.getY();
                repaint();
            } …
Run Code Online (Sandbox Code Playgroud)

java swing drawing mouselistener

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

getText()vs getPassword()

我正在为一家虚拟公司设计一个登录系统,现在我所拥有的只是主要登录,需要大量的清理工作.下面是我的登录处理程序.

private class LoginButtonHandler implements ActionListener {
    public void actionPerformed(ActionEvent e) {
        if(_uid.getText().equalsIgnoreCase("Nathan") && _pwd.getText().equals("password")) {
            JOptionPane.showMessageDialog(null, "Congratulations on logging in!");
        } else {
          JOptionPane.showMessageDialog(null, "Error on login!");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

原样,这种方法非常好,但是当我改为它时

_pwd.getPassword.equals("password")
Run Code Online (Sandbox Code Playgroud)

当一切输入正确时,它会直接指向else语句.这有什么不对?完整的程序如下.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Main extends JFrame {
    private static final int HEIGHT = 90;
    private static final int WIDTH = 400;

    JTextField _uid = new JTextField(10);
    JPasswordField _pwd = new JPasswordField(10);
    JButton _login = new JButton("Login");
    JButton _reset = new JButton("Reset"); …
Run Code Online (Sandbox Code Playgroud)

java passwords swing jpasswordfield

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

如何使用javascript调整div宽度

我想用javascript调整pagewrapper div的大小.我有chrome并且想用它作为用户脚本.这是网站链接:http://clanbase.ggl.com.我想将pagewrapper放到100%宽度.我有以下代码:

// ==UserScript==
// @match http://clanbase.ggl.com/*
// ==/UserScript==

function addJQuery(callback) {
var script = document.createElement("script");
script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
script.addEventListener('load', function() {
var script = document.createElement("script");
script.textContent = "(" + callback.toString() + ")();";
document.body.appendChild(script);
}, false);
document.body.appendChild(script);
}

function pagewrapper() {
document.getElementById('pagewrapper').style.Width = "100%";
}

addJQuery(pagewrapper);
Run Code Online (Sandbox Code Playgroud)

javascript

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

GridLayout没有填充JPanel

我遇到了GridLayout的问题,并且整个JPanel没有被填充.我有一个N*M网格,我用N*M Tiles填充它(它们扩展了JPanel).添加所有这些图块后,JPanel的底部和右侧仍有空间.我认为GridLayout应该填满整个JPanel,并使其中的所有内容均匀分布?

编辑:我不想发布所有代码,因为有多个类.想到也许有一个简单的解决方案.

public class MainFrame extends JFrame {

    private static final long serialVersionUID = 3985493842977428355L;
    private final int FRAME_HEIGHT = 800;
    private final int FRAME_WIDTH = 700;

    private MainPanel mainPanel;

    public MainFrame() {
        super("Test");
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(FRAME_HEIGHT, FRAME_WIDTH);
        setLocationRelativeTo(null);    
        mainPanel = new MainPanel();
        getContentPane().add(mainPanel);
        setVisible(true);
    }
}

public class MainPanel extends JPanel {
    /**
     * 
     */
    private static final long serialVersionUID = 3421071253693531472L;

    private RoutePanel routePanel;
    private ControlPanel controlPanel;
    private GridBagConstraints gridBagConstraints;
    private GridBagLayout gridBagLayout;

    public MainPanel() {
        routePanel = …
Run Code Online (Sandbox Code Playgroud)

java swing

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

为什么Java类只能扩展一个类但实现了许多接口?

在C++中,您可以扩展许多类,那么这个Java设计的优点是什么类只能扩展一个类?由于接口是一种纯类(实际上是抽象类),为什么不像类扩展一样限制接口的实现数量呢?

java multiple-inheritance

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

这是递归的正确用法吗?

我做了我认为是递归的一个例子.这可以接受吗?这不是一个项目或任何事情,我的教授是可怕的,所以我试着自学.

public void theCat() {
  int i;
  for (i = 0; i <= 50; i++) {
    System.out.println(i);
    if (i == 10) {
      theCat();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

java recursion

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

将图标添加到 jTable 的不同行中

我创建了一个 jTable,用于显示国家/地区名称以及名称旁边的单元格中的国旗图标。如何使用 ImageIcon 类在同一列但不同行中显示每个图标,而不只显示字符串?

以下是我编写的内容,用于在 jTable 中的某个位置显示法国国旗图标,但它只显示字符串

    ImageIcon icon = new ImageIcon("http://www.stoma.fr/assets/images/French_Flag_Small_Icon.jpg");
    jTable.setValueAt(icon, 1, 2);
Run Code Online (Sandbox Code Playgroud)

java swing image jtable imageicon

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

我可以保持JDialog关闭转义/输入按下吗?

我创建了一个对话框,用户可以通过用户击键来更改菜单项的键绑定.我想输入和转义为用户可以绑定的键,但它们都关闭对话框.这些印刷机怎么能被截获?

编辑:使用JOptionPane和自定义组件创建对话框

GetKeyComponent comp = new GetKeyComponent(accels, menuItem);
Object[] array = { comp };
JOptionPane optionPane = new JOptionPane(array, 
    JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
Run Code Online (Sandbox Code Playgroud)

java swing jdialog

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

SCSS文件上的文件监视器

我完全难过了.我尽力解决这个问题.

我有一个SCSS文件,上面有一个观察者,但观察者似乎没有工作.根本没有制作普通的CSS文件.这是我的SCSS文件:

在此输入图像描述

同样,我正在使用WebStorm IDE.

错误信息:

执行观察者'SCSS'时发生异常.Watcher已被禁用.修复它:无法运行程序"C:\ Users\Luke\WebstormProjects\untitled\myTestWebsite\main.scss"(在目录"C:\ Users\Luke\WebstormProjects\untitled\myTestWebsite"中):CreateProcess error = 193,% 1不是有效的Win32应用程序

计划路径: 在此输入图像描述

html css sass

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

如何切换位置或交换两个JComboBox的内容?

我是JAVA GUI的新手,遇到了问题.下图显示了我的问题所在的GUI部分.

在此输入图像描述

我想实现这一点,当我点击"点击切换"按钮时,将交换comboBox的内容.我尝试了不同的方式来交换两个comboBox的位置或交换两个ComboBox的内容,但都没有成功.

以下是我的代码中与此问题相关的部分.

1类:

import java.awt.Component;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JPanel;

public class FilePathComboBox implements ActionListener {
    List<String> strings;
    BufferedReader input;
    JComboBox comboBox;
    JPanel jpFilePath;
    JButton testJB;

    public FilePathComboBox(String filePathOfSyncTool) {
        strings = new ArrayList<String>();
        FileReader fr;

        try {
            fr = new FileReader(filePathOfSyncTool);
        } catch (FileNotFoundException e1) {
            fr = null;
            e1.printStackTrace();
        }

        input = new BufferedReader(fr);
        try {
            String line = …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing combobox jcombobox

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