所以我最近才开始学习数据库如何工作,如何使用SQL等.并决定开始在我的Java应用程序(特别是H2数据库)中实现嵌入式数据库,并且似乎在我编写的计算机上运行得相当好.
当我移动到另一台计算机继续我的编码时,我注意到即使我移植了嵌入式数据库文件(h2 - *.jar)我在第一台计算机上创建的所有准备好的表都不存在于第二台计算机上.我不知何故有这样一种先见之明,即通过数据库引擎生成的实际数据也存储在嵌入式数据库文件中.
所以我的问题是,数据库中的数据实际存储在哪里?是否可以准备一个已包含数千条记录的数据库并将其与实际应用程序一起分发?
我还要提一下,我在第一台计算机上连接数据库的方式是通过JDBC连接,即URL:JDBC:h2:〜/ test,当我尝试在第二台计算机上连接到该数据库时,它不存在.
谢谢!
我一直在努力解决一个非常奇怪的问题,该问题突然出现在最新版本的Eclipse Classic(4.2.2)上.
每次我尝试在我的Eclipse工作区中的任何项目(所有Java)中创建或重构类或子类时,我都会在课程的最顶层看到错误
A class file was not written. The project may be inconsistent, if so try refreshing this project and building it
Run Code Online (Sandbox Code Playgroud)
同样,当我创建新类时会发生这种情况.即使我重命名当前类,然后撤消重命名,它完全没问题,但更改名称中的单个字符会导致该错误发生在该特定类中.
我有自动构建,我尝试多次清理和刷新每个项目,以及完全重启Eclipse.
我真的不知道如何开始弄清楚如何解决这个问题.我通过搜索找到的解决方案没有帮助,所以我希望我可以在这里找到任何线索.
我有一个表调用table并填充了数据,我还有一个MessageFormat标题我想用作标题来打印JTable这个是MessageFormat:
MessageFormat header = new MessageFormat("Product: "
+ task.getProductName() + " Job: "
+ task.getJobNumber() + " Task: " + task.getTaskID()
);
Run Code Online (Sandbox Code Playgroud)
我想在标题中打印3行,一行用于Product,Job和Task
我打印的方式table是这样的:
table.print(JTable.PrintMode.FIT_WIDTH, header, null);
Run Code Online (Sandbox Code Playgroud)
我似乎无法弄清楚如何在3个单独的行中打印标题,我尝试使用它\n来创建一个新行,但这似乎不起作用.
由于Java 7还没有像Java 6那样流行,我想知道是否可以在Java 6 JRE的最新更新中使用WebView之类的东西,而不需要用户在他们的系统上下载JavaFX.
我正在使用桌面Java应用程序,并且已经使用JDK 6通过IDE进行开发.我使用渲染提示VALUE_FRACTIONALMETRICS_ON和其他提示来更好地渲染JLabel中的文本.这些提示在JVM 1.6上运行得非常漂亮,但我最近注意到,VALUE_FRACTIONALMETRICS_ON当我使用JRE运行应用程序时,它似乎完全忽略了1.7我在这里做错了什么让Java 7忽略了这些提示?
lblDate = new ATimeLabel(ATimeLabel.DATE_LETTERS) {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_RENDERING,
RenderingHints.VALUE_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS,
RenderingHints.VALUE_FRACTIONALMETRICS_ON);
super.paintComponent(g2d);
}
};
Run Code Online (Sandbox Code Playgroud)
FRACTIONALMETRICS对文本具有最明显的视觉效果,因此让我的工作就是我想要做的.
这是一个屏幕截图比较,当我从我的IDE(左)运行应用程序时使用Java 6,当我双击Jar文件时,它自己(右)使用我的系统JRE,Java 7.(我还临时添加红色边框以显示paint方法确实有效)
任何帮助将非常感谢.
这是我的CSS和HTML代码.我想在中心放置一个图像,除了图像周围有一个奇怪的白色边框外,这样可以工作.我曾尝试border:none;和border:0;
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Food.</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="icon" type="image/png" href="favicon.ico">
</head>
<body>
<img border="0" id="image" class="centered" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
CSS:
.centered {
position: fixed;
top: 50%;
left: 50%;
margin-top: -182px;
margin-left: -153px;
}
img#image{
/*I think this is where the issue is caused*/
width:337px;
height:219px;
background-image: url('soon_comp.png');
background-color: transparent;
}
body {
outline: none;
background-color: rgb(15,15,30);
border-color:transparent;
border:0px;
}
Run Code Online (Sandbox Code Playgroud) 我有35x40像素.png图像我想在Swing应用程序中用作自定义光标.图像具有发光,因此包含Alpha透明度值.问题是当我尝试使用传统的方法Toolkit来生成自定义光标时,我得到了alpha透明度值应该是黑色像素.
这是我用于游标的图像:https: //dl.dropbox.com/u/1186703/cursor.png
这是我的代码:
public static void main(String[] args) throws IOException {
new Sandbox().gui();
}
private Cursor cursor;
private Toolkit kit;
private Image cursorImage;
public void gui() {
kit = Toolkit.getDefaultToolkit();
cursorImage = kit.createImage(getClass().getResource(
"/aurora/V1/resources/cursor.png"));
cursor = Toolkit.getDefaultToolkit().createCustomCursor(
cursorImage, new Point(0, 0), "CustomCursor");
setSize(800, 800);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setVisible(true);
setCursor(cursor);
}
Run Code Online (Sandbox Code Playgroud)
这是当前的结果:

编辑它似乎这种方法不能很好地跨平台工作,例如Windows LAF不支持半透明.我正在寻找任何解决方案让这个在Windows上工作,假设这个实现在Mac OSX上工作,我可以在代码中指定基于运行应用程序的操作系统使用哪个实现.
我有一个问题,鼠标监听器一个在另一个上面添加到2个不同的面板.他们都使用mouseEntered()和mouseExited()方法.
测试代码的预期结果如下:
如果我尝试将鼠标移到彩色矩形上,它会一直闪烁,从可见到不可见.系统打印显示我的意思,它每次移动或用鼠标点击时都会一直激活鼠标输入和鼠标退出.反正有没有阻止mouseExited()每次移动或点击鼠标时调用该方法?
这是测试代码:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Sandbox extends JPanel {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setSize(500, 500);
frame.add(new Sandbox());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public Sandbox() {
super(new BorderLayout());
final JPanel panelA = new JPanel();
panelA.setBackground(Color.red);
panelA.setPreferredSize(new Dimension(155, 155));
panelA.setVisible(false);
this.add(panelA, …Run Code Online (Sandbox Code Playgroud) 我一直在尝试在作为客户端的 UWP 应用程序和作为服务器的 .NET 桌面应用程序之间设置客户端服务器。我使用 UDP 数据报作为两者之间的消息传递系统。
这里是我的 UWP 代码,用于在端口 22222 的本地主机 IP 上侦听数据报:
private async void listenToServer()
{
// Setup UDP Listener
socketListener = new DatagramSocket();
socketListener.MessageReceived += MessageReceived;
await socketListener.BindEndpointAsync(new HostName("127.0.0.1"),"22222");
Debug.WriteLine("Listening: " + socketListener.Information.LocalAddress + " " + socketListener.Information.LocalPort);
}
private async void MessageReceived(DatagramSocket sender, DatagramSocketMessageReceivedEventArgs args)
{
// Interpret the incoming datagram's entire contents as a string.
uint stringLength = args.GetDataReader().UnconsumedBufferLength;
string receivedMessage = args.GetDataReader().ReadString(stringLength);
Debug.WriteLine("Received " + receivedMessage);
}
Run Code Online (Sandbox Code Playgroud)
这是我的 WinForm .NET 桌面应用程序,用于在端口 2222 上的本地主机上发送数据报: …
因此,我使用Java Swing为我的应用程序构建UI,并使用自定义图像来替换丑陋的Java,自定义图像具有样式,并且非常容易集成到Java Swing中.
现在我的问题是我需要在应用程序中使用a JScrollBar,JScrollPane我真的不想使用默认的Java Scroll Bar甚至本机OS Scroll Bar.
我只是希望能够将自定义图像作为滚动条的背景和图像作为滚动条的拇指.
如何使用图像制作自定义JScrollBar?