我使用Netbeans的GUI Builder为我的应用程序创建了GUI.我试图显示一个JFrame包含JLabel图像的图像,我无法Image显示.
我生成的代码:
private void initComponents() {
//...
jLabel1 = new JLabel(new ImageIcon(myPicture));
}
Run Code Online (Sandbox Code Playgroud)
我的班级代码:
public class GUIWindow extends javax.swing.JFrame {
BufferedImage myPicture;
/** Creates new form GUIWindow */
public GUIWindow() throws IOException {
myPicture = ImageIO.read(new File("images/logo.png"));
initComponents();
this.add(jLabel1);
}
}
Run Code Online (Sandbox Code Playgroud)
但我仍然没有看到图像...... (图像文件的路径很好)它的样子:
my-project :
/build
/dist
/images/logo.png
/nbproject
/src (here I have all my source files)
/build.xml
/manifest.mf
Run Code Online (Sandbox Code Playgroud) 嗨!
我使用以前的Stackoverflow帖子有下面的代码.
我想将矩形旋转一定角度,使其在sin波中移动.
此代码也会旋转整个sin波.
我明白为什么会这样,但我不知道如何实现我的意图.
请帮忙!!!
非常感谢您抽出宝贵时间.
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.AffineTransform;
import java.util.Timer;
import java.util.TimerTask;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Withrotation {
public static int i = 1;
public static Ticker t;
public static Repainter r;
public static int newx, newy;
public static void main(String[] args) {
final JFrame frame = new JFrame("Wavy!");
final WavyPanel wp = new WavyPanel();
frame.getContentPane().add(wp, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
t = new Ticker(wp);
r = new Repainter(wp);
frame.pack(); …Run Code Online (Sandbox Code Playgroud) 我想在Jlabel文本中包含可单击的单词,我想为每个单词注册一个MouseListener或获取单击的单词(否则).下图显示了我想要的内容.这可能吗 ?!

我有一个类扩展JButton,我试图应用.png图像.图像形状不规则,并被透明像素包围.我已经覆盖了paintComponent()方法,在JButton我的缓冲图像应用到按钮.现在,图像是唯一被绘制的东西,这就是我想要的.
但是,按钮仍然会检测周围矩形中的事件.有没有办法将检测限制在仅包含不透明像素的区域(或者更确切地说不检测透明像素上的事件)?
按钮类的代码如下.
public class DrawButton extends JButton{
private BufferedImage bi;
public DrawButton(BufferedImage bi){
setPreferredSize(new Dimension(bi.getWidth(), bi.getHeight()));
this.bi = bi;
}
@Override
protected void paintComponent(Graphics g){
g.drawImage(bi, 0, 0, null);
g.dispose();
}
}
Run Code Online (Sandbox Code Playgroud) 如果用户输入其他字符,我希望用户只输入字母或空白区域,我想用jOptionPane给出消息我已经搜索过,我试过下面的代码
if (!(Pattern.matches("^[a-zA-Z]+$", answerField1.getText())))
JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);
Run Code Online (Sandbox Code Playgroud)
但现在无论我输入它都会给出错误
现在我改变了代码
Pattern letterPattern = Pattern.compile("^[a-zA-Z]+$");
if (!(letterPattern.matcher(answerField1.getText()).matches()))
{
JOptionPane.showMessageDialog(null, "Please enter a valid character", "Error", JOptionPane.ERROR_MESSAGE);
}
Run Code Online (Sandbox Code Playgroud)
现在它只给消息第一次用户输入号码.我怎么能解决这个问题
我已经开发了一个swing表单来验证条目,因为焦点从JTextComponent中丢失,如果条目正确,则背景被涂成绿色,否则它被涂成红色.
这是代码: -
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import javax.swing.text.JTextComponent;
public class Form extends JFrame implements FocusListener{
JTextField fname,lname,phone,email,address;
BufferedImage img;
public static void main(String args[])
{
SwingUtilities.invokeLater(new Runnable(){public void run(){new Form();}});
}
public Form()
{
super("Form with Validation Capability");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400,300);
setLayout(new GridLayout(5,3));
try {
img=ImageIO.read(new File("src/warning.png"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
add(new …Run Code Online (Sandbox Code Playgroud) 所以我想要的是程序运行时(它是系统托盘),这些小通知问题之一显示在屏幕右下方。我试过了。
trayIcon = new TrayIcon(image, "Title", popup);
trayIcon.setImageAutoSize(true);
trayIcon.displayMessage("Title", "MESSAGE HERE", TrayIcon.MessageType.ERROR) //THIS IS THE LINE THAT SHOULD SHOW THE MESSAGE
Run Code Online (Sandbox Code Playgroud)
程序运行时应该在哪里运行,并且参数正确的方法正确吗?
我是 iOS 开发的新手,我对如何实现这一点有点困惑。
我UILabel添加了2个UIStackView像这样的:
let horizontalStackView1 = UIStackView(arrangedSubviews: [self.label1, self.label2])
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,它看起来像这样:
香港专业教育学院尝试设置horizontalStackView1.distribution,horizontalStackView1.alignment等等,没有运气。
我如何实现这一目标?
提前致谢!
更新:
代码看起来像这样(顺便说一下,它是表格的一个单元格):
class ItemTableViewCell: UITableViewCell
{
...
let stateLabel = UILabel()
let effectiveDateLabel = UILabel()
...
var typeImage: UIImage?
{
...
}
var summary: String?
{
...
}
var effectiveDate: Date?
{
...
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?)
{
super.init(style: style, reuseIdentifier: reuseIdentifier)
self.accessoryType = .disclosureIndicator
...
let horizontalStackView1 = UIStackView(arrangedSubviews: [self.stateLabel, self.effectiveDateLabel])
let horizontalStackView2 = …Run Code Online (Sandbox Code Playgroud) Java Swing SwingUtilities.invokeLater()允许您将一个线程入队,以便在处理完最后一个AWT事件(用户手势)后运行.
为invokeLater()保证等到拖放动作完成后?
我正在尝试用Java(学校项目)制作游戏,我有以下设置:
一个主要的类,用JFrame扩展,一个'Game'类,用JPanel扩展.
现在从这个主类中,我调用了一个类'Player'和一个类'Map'.类'Map'存在两个子类'Blocks'和'Bombs'.
但我想知道..我如何让所有这些类的绘制方法绘制到相同的JPanel(类Game)?
我给每个类的方法'public void paint(Graphics g)'并做了绘画..但是当我运行程序时,只有"Game"类的绘画出现,而不是来自子类的绘画.
我该如何实现?
例如,我将代码缩减为:
主要课程:
BomberGame game = new BomberGame();
add(game);
setSize(400, 400);
setTitle("Bomber");
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.show();
}
public static void main(String[] args) {
BomberB1 main = new BomberB1();
}
}
Run Code Online (Sandbox Code Playgroud)
游戏类:
package bomberb1;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.ArrayList;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
public class BomberGame extends JPanel {
public BomberGame() {;
BomberMap map = new …Run Code Online (Sandbox Code Playgroud) java ×9
swing ×9
jtextfield ×2
background ×1
click ×1
filter ×1
graphics ×1
graphics2d ×1
image ×1
ios ×1
jbutton ×1
jframe ×1
jlabel ×1
jpanel ×1
swift ×1
system-tray ×1
uilabel ×1
uistackview ×1