小编Jar*_*rod的帖子

Java如何在布局中添加图像作为背景

我有一个使用CardLayout的类,它有两张卡片,上面有一个按钮.我希望能够做的是放置一个像背景一样的图像,例如Windows中的桌面背景.该程序最终将有几张不同的卡片,我希望能够在每张卡片上放置不同的背景.我已尝试过在本网站上提出的其他类似问题中提出的许多建议,以及通过Google搜索我能找到的任何建议,但我似乎无法让它发挥作用.我知道使用CardLayout我不能将面板放在面板上,因此将图像放在JPanel上是行不通的.所以我的问题是,根据下面发布的代码,我有更好的方法来设置我的布局,以便它更好地工作,而且,我应该如何处理显示图像,使其在按钮的背景中?任何帮助将不胜感激.

import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;

public class Cards implements ActionListener {    
private JPanel cards;
private JButton button1;
private JButton button2;
private Image backgroundImage;

public void addComponentToPane(Container pane) throws IOException {
    backgroundImage = ImageIO.read(new File("background.jpg"));

    //create cards
    JPanel card1 = new JPanel()
    {
        @Override
        public void paintComponent(Graphics g)
        {
            g.drawImage(backgroundImage, 0, 0, null);
        }
    };
    JPanel card2 = new JPanel();
    button1 = new JButton("Button 1");
    button2 = new JButton("Button 2");
    button1.addActionListener(this);
    button2.addActionListener(this);        
    card1.add(button1); …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel paintcomponent cardlayout

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

Java ArrayList如何添加类

我在尝试创建ArrayListJava 时遇到了问题,但更具体地说是在尝试add()使用它时.我在线上遇到语法错误people.add(joe); ......

Error: misplaced construct: VariableDeclaratorId expected after this token.
    at people.add(joe);
                  ^
Run Code Online (Sandbox Code Playgroud)

我的理解是,ArrayList为了我的目的,一个数组会比一个数组更好,所以我的问题是,是这样的情况,如果没有,我的语法错在哪里?

这是我的代码......

import java.util.ArrayList;

public class Person {
    static String name;
    static double age;
    static double height;
    static double weight;

    Person(String name, double age, double height, double weight){
        Person.name = name;
        Person.age = age;
        Person.height = height;
        Person.weight = weight;
    }

    Person joe = new Person("Joe", 30, 70, 180);
    ArrayList<Person> people = new ArrayList<Person>();
    people.add(joe);
}
Run Code Online (Sandbox Code Playgroud)

java arrays arraylist

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

主要方法之外的方法中的Java调用对象

我有一个简单的问题,我已经坚持了一段时间,我找不到答案.基本上,我正在创建一个对象并尝试访问变量而不使用静态变量,因为我被告知这是错误的方法.以下是该问题的一些示例代码.我在第一个类中收到一个无法解析为变量的错误.我希望能够做的是访问t.namemain之外的其他方法,也可以访问其他类.为了解决这个问题,我会Test2.nameTest2课堂上使用并将变量设为静态,如果我错了就纠正我,但我认为这是错误的做法.任何帮助将不胜感激=)

public class Test {
  public static void main(String[] args) {
    Test2 t = new Test2("Joe");         
  }

  public void displayName() {
    System.out.println("Name2: " + t.name);
  }
}

public class Test2 {
  String name;

  public Test2 (String nm) {
    name = nm;
  } 
}
Run Code Online (Sandbox Code Playgroud)

java variables syntax object

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