我想创建一个自动建议文本框,它将在每个密钥发布事件中查询数据库.那部分很简单,但我想给它一个很好的视觉效果.类似于我们在Facebook搜索等网站中看到的自动建议文本框.
如何制作这样的界面?
一个天真的想法是将JList放在文本框的正下方,并将其设置为可见,并在其中找到一个结果.
这样做有更好的想法或标准方式吗?
在我的JFrame上,我使用以下代码在Panel上显示图像:
ImageIcon img= new ImageIcon("res.png");
jLabel.setIcon(img);
Run Code Online (Sandbox Code Playgroud)
我想"自动调整"标签中的图片.实际上,有时图像尺寸只有几个像素,有时甚至更多.
有没有办法设置标签的大小,然后自动调整标签中的图像?
我有一个JPanel带有彩绘背景图像和一个布局管理器,其中包含其他较小的图像,所有这些都在一个内部JFrame.背景图像非常大,我希望能够保持其纵横比,无论是在大型还是小型显示器上.
最终,我希望能够将我LayoutManager和它的细胞中的较小图像"粘合"到背景图片上.
我四处寻找资源,似乎很多例子都使用了,BufferedImage但我不是; 这会造成问题吗?我将在下面发布我的代码来绘制图像,如果我缺少任何信息,请告诉我.
public class MonitorPanel extends JPanel {
Image img;
public MonitorPanel() throws MalformedURLException {
//add components
try {
img = ImageIO.read(new File("src/customer_vlans.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void paintComponent(Graphics g)
{
//paint background image
super.paintComponent(g);
//g.drawImage(img, 0, 0, getWidth(), getHeight(), this);
g.drawImage(img, 0, 0, this);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我应该提到我知道宽高比公式: 原始高度/原始宽度x新宽度=新高度 然而,我不知道如何正确使用它对我有利.
我有一个负责做一些过程的线程.我希望这样做,以便这些处理每3秒完成一次.我已经使用了下面的代码,但是当线程启动时,没有任何反应.我假设当我为我的计时器定义一个任务时,它会ScheduledTask在一个时间间隔内自动执行,但它根本不做任何事情.我错过了什么?
class temperatureUp extends Thread
{
@Override
public void run()
{
TimerTask increaseTemperature = new TimerTask(){
public void run() {
try {
//do the processing
} catch (InterruptedException ex) {}
}
};
Timer increaserTimer = new Timer("MyTimer");
increaserTimer.schedule(increaseTemperature, 3000);
}
};
Run Code Online (Sandbox Code Playgroud) 我最近一直在尝试用C#创建一个SSL加密的服务器/客户端.
我在MSDN上遵循了本教程,但是,它需要使用makecert.exe为服务器和客户端使用创建证书,所以我找到了一个示例,它创建了证书:
makecert -sr LocalMachine -ss My -n"CN = Test"-sky exchange -sk 123456 c:/Test.cer
但现在问题是服务器启动并等待客户端,当客户端连接它时使用机器名称,在这种情况下,我可以收集的是我的IP:
127.0.0.1
,然后它需要服务器名称,该名称必须与证书(Test.cer)上的服务器名称匹配.我尝试了多种组合(例如"Test""LocalMachine","127.0.0.1"但似乎无法让客户端给出服务器名称以匹配,从而允许连接.我得到的错误是:
证书错误:RemoteCertificateNameMismatch,RemoteCertificateChainErrors例外:根据验证程序,远程证书无效
这里是我使用它的代码与MSDN示例的不同之处仅在于我在应用程序中为服务器分配证书路径以及客户端的机器名和服务器名称:
SslTcpServer.cs
using System;
using System.Collections;
using System.Net;
using System.Net.Sockets;
using System.Net.Security;
using System.Security.Authentication;
using System.Text;
using System.Security.Cryptography.X509Certificates;
using System.IO;
namespace Examples.System.Net
{
public sealed class SslTcpServer
{
static X509Certificate serverCertificate = null;
// The certificate parameter specifies the name of the file
// containing the …Run Code Online (Sandbox Code Playgroud) 我有代码要求用户输入日志文件名,以便它知道要解析和排序的文件.
为了能够正确解析,FileSource.parseXML读取变量类型File.因此,输入String需要转换为File.怎么做?
import java.io.*;
import java.util.*;
public class Main
{
public static void main( String[] args )
{
FileSource src;
File fd=null;
int rc = 0;
int count = 0;
Record rec;
//ask user what file to parse
Scanner input = new Scanner(System.in);
System.out.println("Enter file name:");
String filename = input.nextLine();
//TODO turn filename into fd
//parse the records
src = FileSource.parseXML( fd );
//print out the number of records parsed
rc = …Run Code Online (Sandbox Code Playgroud) 我正在使用WebDriver,我已经下载了InternetExplorerDriver,并想知道在下载后我用它做了什么?
这说是把司机放在我的路上.不确定他们到底在说什么.
有没有人使用过这个,如果可以的话,你能提供一些如何设置它的详细步骤吗?
我收到以下错误:
必须通过webdriver.ie.driver系统属性设置驱动程序可执行文件的路径
我下载了IE和Chrome驱动程序的可执行文件.我在哪里设置它?
我是Android开发的新手,已经开始创建自己的UI.我看到你可以动态创建它(动态布局):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);
TextView tv = new TextView(this);
tv.setText("Name");
ll.addView(tv);
EditText et = new EditText(this);
ll.addView(et);
Button b = new Button(this);
b.setText("Ok");
ll.addView(b);
}
Run Code Online (Sandbox Code Playgroud)
但我也看到netbeans有一个文件Resources-> layout-> main.xml.因此,您可以为UI创建XML布局(声明XML布局):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello World, AndroidTest"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是我应该使用哪个?在Android开发中推荐什么以及动态vs XML布局的优缺点是什么?
我注意到人们建议不要混合使用Swing和AWT Components,但是我们看到了很多:
import javax.swing.AbstractButton;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.ImageIcon;
//AWT imports though only for listeners
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
Run Code Online (Sandbox Code Playgroud)
那么为什么包括Java在内的许多人(因为我在这里得到了他们的教程)仍然使用AWT导入,尽管我看到它主要用于Listeners.
你如何添加本地的Swing ListenerS /库的东西一样Key,Button,JComboBox按/ slections等?
或者我会用firePropertyChangeListeners()?(虽然这与Java Bean有关)
一段时间以来我一直很困惑,我的应用程序大部分都有Swing和AWT,据说这很糟糕?
现在我正在尝试创建一个生产者/消费者线程,生产者线程遍历所有可能的字母组合并创建它们各自的MD5哈希值.然后将每个组合及其哈希放入HashMap<String,String>.现在在我的消费者线程中,我希望能够Queue<>在hashmap上使用集合,这样我的消费者线程就可以调用poll()etc,从而删除atc,Queue但仍然让我能够在调用时看到组合及其哈希poll()我将如何去关于这样做?我有HashMap但不知道如何'制作'或将其作为队列投射.谢谢.
java ×9
swing ×4
android ×1
android-xml ×1
aspect-ratio ×1
autocomplete ×1
autosuggest ×1
awt ×1
c# ×1
collections ×1
eclipse ×1
file ×1
hashmap ×1
imageicon ×1
import ×1
jpanel ×1
makecert ×1
netbeans-7 ×1
queue ×1
selenium ×1
size ×1
sslstream ×1
string ×1
testng ×1
timer ×1
webdriver ×1