你好,我有一些关于java的问题.这是我的代码:
public static void main(String[] args) throws Exception {
Process pr = Runtime.getRuntime().exec("java -version");
BufferedReader in = new BufferedReader(new InputStreamReader(pr.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
System.out.println(line);
}
pr.waitFor();
System.out.println("ok!");
in.close();
System.exit(0);
}
Run Code Online (Sandbox Code Playgroud)
在那个代码我试图得到一个java版本命令执行是好的,但我无法读取输出它只是返回null.为什么?
我有一个带有按钮的Java swing应用程序,当执行某个操作时会生成一个弹出窗口.我想在弹出窗口的中心点与渲染时父窗口的中心点对齐.如何计算插入setLocation()弹出窗口的x,y坐标?
只是为了澄清.我不想要的行为,setLocationRelativeTo()因为它将弹出窗口的左上角像素设置在父帧的中心像素上.我想将弹出窗口的中心像素设置在父帧的中心像素上.
以下屏幕截图显示了TextBubbleBorder1的测试.我想让矩形之外的组件的角完全透明并显示它下面的任何组件.我找到了一种方法,通过Clip在Graphics2D实例上设置(表示圆角以外的区域)并调用,将标签的BG颜色限制为"在边框内" clearRect().这可以在Label 1.

但是,当父面板上有红色BG(或任何非标准颜色)时,您可以看到此方法的缺点.角落默认为默认面板颜色(最容易看到Panel 2).
最终,我希望这能够在父容器中使用非标准颜色,但部分灵感来自于我需要做什么才能使用渐变颜料复制此组件?
有人知道让这些角落透明的方法吗?
import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;
import javax.swing.border.*;
public class BorderTest {
public static void main(String[] args) {
Runnable r = new Runnable() {
@Override
public void run() {
JPanel gui = new JPanel(new GridLayout(1,0,5,5));
gui.setBorder(new EmptyBorder(10,10,10,10));
gui.setBackground(Color.RED);
AbstractBorder brdr = new TextBubbleBorder(Color.BLACK,2,16,0);
JLabel l1 = new JLabel("Label 1");
l1.setBorder(brdr);
gui.add(l1);
JLabel l2 = new JLabel("Label 2");
l2.setBorder(brdr);
l2.setBackground(Color.YELLOW);
l2.setOpaque(true); …Run Code Online (Sandbox Code Playgroud) 我们可以使用列表来初始化窗口图标Window.setIconImages(List<? extends Image>).通常用于a的图标大小有哪些JFrame?
此代码将64个不同大小的图像(从16x16,递增2)转换为列表的图标.
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.ArrayList;
import java.util.Vector;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
public class FrameIconList {
public static BufferedImage getImage(int size, Color color) {
BufferedImage i = new BufferedImage(
size, size, BufferedImage.TYPE_INT_RGB);
Graphics2D g = i.createGraphics();
g.setColor(color);
g.fillRect(0, 0, size, size);
g.setColor(Color.BLACK);
int off = (size>17 ? 3 : 1);
if (off>1) g.drawRect(0, 0, size-1, size-1);
g.drawString("" + size, off, size-off);
g.dispose();
return i;
}
public static void main(String[] args) { …Run Code Online (Sandbox Code Playgroud) 线程启动后,如果线程的引用设置为null,线程会发生什么?它会停止吗?它符合GC的条件吗?
像这样:
t.start();
t = null;
Run Code Online (Sandbox Code Playgroud) 我提供了关于在Java API或工具上捕获表格数据图像的建议,以便将表格数据转换为PNG图像文件 - 当OP请求代码示例时.事实证明比我想象的更难!该JTable头从该代码写入PNG消失.


import javax.swing.*;
import java.awt.Graphics;
import java.awt.BorderLayout;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
class TableImage {
public static void main(String[] args) throws Exception {
Object[][] data = {
{"Hari", new Integer(23), new Double(78.23), new Boolean(true)},
{"James", new Integer(23), new Double(47.64), new Boolean(false)},
{"Sally", new Integer(22), new Double(84.81), new Boolean(true)}
};
String[] columns = {"Name", "Age", "GPA", "Pass"};
JTable table = new JTable(data, columns);
JScrollPane scroll = new JScrollPane(table);
JPanel p …Run Code Online (Sandbox Code Playgroud) 是什么之间的实际差异paint(),paintComponent()以及paintComponents()在的Java Swing?
我试图理解Oracle文档中解释的内容,但我不清楚.
要keywords在编写Java Docs时表示我应该使用<code>元素还是<tt>元素?是否有一种特殊情况应该优先于另一种?
我是Java编程的初学者和自学者.所以,我想知道Java 之间String.length()和之间的区别String.getBytes().length.
什么更适合检查字符串的长度?