我正在使用swing和awt库在Java中编写联系簿应用程序.Application包含一个JList,它使用TreeSet作为abstractListModel.
TreeSet用于名为Contact的类,它具有专用比较器类,可根据联系人的名字对联系人进行排序.private boolean equals(Object o)如果Contact具有与O相同的mobileNumber,则该方法返回true(当然,在转换之后).
我想在此应用程序中添加搜索功能.我已经搜索了JTextField并添加了一个keyListener,我想要做的是按下每个键后,列表会显示一组包含搜索词的缩小结果.TreeSet或任何其他Collection中是否有方法?我希望它与您在iPod中的音乐应用程序中的内容类似,例如,当您键入字母"f"时,它会列出包含字母F的所有歌曲,但只有当您键入"五十美分"时你想要的歌手出现的歌曲.
谢谢你的帮助.
我正在使用 Qt 框架设计一个应用程序,我想避免使用多个对话框,因为我认为打开多个对话框会变得混乱。我想知道 Qt 框架中是否有类似 Java 的 CardLayout 之类的东西。
谢谢你的帮助。
我正在Android中编写一个用户修改SQL数据库的活动.UI由用户输入名称的EditText和用户输入人物吸引力的Seekbar组成.下面有一堆按钮:添加,编辑,查看,删除.
当用户单击"编辑"按钮时,将显示一个输入对话框,要求用户输入记录编号.完成后,将加载该记录.
我遇到的问题是inputdialog会显示,而当用户输入记录no时,编辑方法的其余部分将继续进行,以便当用户输入输入时 - 没有任何事情发生,因为该功能已经已经完成.
为了解决这个问题,我决定使用多线程(我没有太多使用经验).当按下编辑按钮时,主UI线程被阻止(使用wait() - 这是因为我不希望UI在用户输入记录ID时处于活动状态.)并且输入对话框显示在单独的线程.
输入输入后,将通知线程并继续编辑功能的其余部分.(代码如下).
问题是,当我在UI线程上调用wait函数时,我收到一条错误,上面写着"对象在wait()之前没有被线程锁定".如何锁定UI线程?
我知道一般不应该阻止UI线程,但我认为在这种情况下它是可以的,因为我不希望它接受任何用户输入.
谢谢你的帮助.
public class Attractivometer extends Activity implements OnClickListener {
private Button buttonAddRecord, buttonEditRecord, buttonSaveChanges;
private Button buttonDeleteRecord, buttonViewRecord;
private EditText fieldName;
private SeekBar seekbarAttractiveness;
private String inputFromInputDialog=null;
private Thread inputThread;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.Attractivometer);
buttonAddRecord = (Button) findViewById(R.id.buttonAddRecord);
buttonSaveChanges = (Button) findViewById(R.id.buttonSaveChanges);
buttonEditRecord = (Button) findViewById(R.id.buttonEditRecord);
buttonDeleteRecord = (Button) findViewById(R.id.buttonDeleteRecord);
buttonViewRecord = (Button) findViewById(R.id.buttonViewRecord);
fieldName = (EditText) findViewById(R.id.fieldName);
seekbarAttractiveness = (SeekBar) findViewById(R.id.seekbarAttractiveness);
buttonAddRecord.setOnClickListener(this);
buttonSaveChanges.setOnClickListener(this);
buttonEditRecord.setOnClickListener(this);
buttonDeleteRecord.setOnClickListener(this); …Run Code Online (Sandbox Code Playgroud) 我正在Node.JS中开发REST Web服务以使用骨干框架.我已经使用urlRoot定义了一个Person模型:http://localhost:3000/users我创建了一个请求处理程序,它在收到一个post请求时将该人添加到数据库中.
app.post('/users', user.add(db));
exports.add = function(db){
return function(req,res){
console.log(req.body);
var name = req.body.name;
var age = req.body.age;
var sex = req.body.sex;
var job = req.body.job;
var peopleDb = db.get('people');
peopleDb.insert({
'name':name,
'age':age,
'sex':sex,
'job':job
},function(e,docs){
if(e){
console.log(e);
}else
{
res.setHeader('Content-Type','application/json');
res.setHeader('Access-Control-Allow-Origin','*');
res.setHeader('Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
res.writeHead(200);
res.end(JSON.stringify(docs));
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试执行代码时,我在控制台中得到了这个:
Origin http://localhost is not allowed by Access-Control-Allow-Origin.
我从其他答案中读到添加标题:Access-Control-Allow-Origin:*并且Access-Control-Allow-Methods:GET,PUT,POST,DELETE会解决问题,但它对我没用.我也尝试将这些标题放在.htaccess文件中,但没有运气.
有人可以告诉我代码是否有问题或者是否有任何解决方案?
我的应用程序由两个JPanels 组成,它们将是一张卡片MainPanel.代码如下.出于某种原因,面板不会出现.我非常感谢你的帮助:)
MainPanel.java:
public class MainPanel extends JPanel{
private final static String PANEL1 = "PANEL1";
private final static String PANEL2 = "PANEL2";
private static Panel1 panel1;
private static Panel2 panel2;
//private static CardLayout layout;
public MainPanel() {
super(new CardLayout());
panel1 = new Panel1();
panel2 = new Panel2();
getLayout().addLayoutComponent(PANEL1, panel1);
getLayout().addLayoutComponent(PANEL2, panel2);
((CardLayout) getLayout()).show(this, PANEL1);
}
}
Run Code Online (Sandbox Code Playgroud)
Main.java:
public class Main {
private static JFrame window;
public static void main(String[] args) {
window = new JFrame();
window.setContentPane(new …Run Code Online (Sandbox Code Playgroud) 我正在开发Android应用程序,我想通过Samsung Mobile Print应用程序打印HTML页面.我需要做什么意图参数,即
包裹名字
MIME类型
动作类型(ACTION_SEND,ACTION_VIEW等)
任何其他所需的参数.
有没有办法找出这些参数?我设法使用adb shell找出包名,但是当我尝试将HTML页面作为一个包传递时,它会抛出一个ActivityNotFoundException (No Activity found to handle ACTION_SEND).
我知道还有其他打印选项,如PrinterShare Pro和Gooble Cloud Print,但我正在为客户开发此应用程序,因此我必须与Samsung Mobile Print应用程序进行通信.
谢谢你的帮助.
我正在构建一个Windows Phone 8.1集线器应用程序.其中一个hub部分包含一个显示文章列表的ListView.我想在这个hubsection中添加一个Textblock,当文章无法下载时会显示一条消息.XAML代码如下:
<HubSection
x:Uid="ArticlesSection"
Header="ARTICLES"
DataContext="{Binding Articles}"
HeaderTemplate="{ThemeResource HubSectionHeaderTemplate}">
<DataTemplate>
<Grid>
<ListView
AutomationProperties.AutomationId="ItemListViewSection3"
AutomationProperties.Name="Items In Group"
SelectionMode="None"
IsItemClickEnabled="True"
ItemsSource="{Binding}"
ItemTemplate="{StaticResource BannerBackgroundArticleTemplate}"
ItemClick="ItemView_ItemClick"
ContinuumNavigationTransitionInfo.ExitElementContainer="True">
</ListView>
<TextBlock
x:Name="NoArticlesTextBlock"
HorizontalAlignment="Center"
VerticalAlignment="center"
Style="{StaticResource HeaderTextBlockStyle}"
TextWrapping="WrapWholeWords"
TextAlignment="Center"/>
</Grid>
</DataTemplate>
</HubSection>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是我无法从C#代码访问TextBlock.有更简单的方法吗?
req.url.fragment是可选的String.如果它有一个值,我想将该值复制到其中fragment,否则我想分配一个空字符串.我一直收到错误cannot move out of borrowed content.
我该如何解决这个问题?
fn fb_token(req: &mut Request) -> IronResult<Response> {
let fragment = match req.url.fragment {
Some(fragment) => fragment,
None => "".to_string(),
};
Ok(Response::with((status::Ok, fragment)))
}
Run Code Online (Sandbox Code Playgroud) 我正在用 Rust 开发一个单词生成器。该应用程序由两个主要结构组成:Letter和Alphabet.
Letter 由单个字符和有关其与其他字母关系的规则组成。
Alphabet包含元音和辅音的向量以及引用这些向量中字母的哈希图。这样做是为了可以在 O(1) 时间内检索字母的规则。
我创建了一个工厂方法来从 json 字符串(下面的代码)中读取字母表,但是我收到一个错误,指出字母表实例的寿命不够长。
src/word_generator/alphabet.rs:47:6: 47:14 错误:
alphabet寿命不够长 src/word_generator/alphabet.rs:47alphabet.add_letter(letter);src/word_generator/alphabet.rs:26:40: 55:3 注意:参考必须对 26:39 在块上定义的匿名生命周期 #1 有效... src/word_generator/alphabet.rs:26 pub fn from_json (json: &str)->字母{
注意:...但借用的值仅对 40:37 src/word_generator/alphabet.rs:40 处的语句 3 后面的块后缀有效 let mut episode = Alphabet::new(); src/word_generator/alphabet.rs:41
我理解错误(我希望),但我不明白它为什么会发生。为什么Alphabet函数返回的 实例new()被变量借用了alphabet?这不是移动操作吗?
pub struct Alphabet<'a>{
pub vowels: Vec<Letter>,
pub consonants: Vec<Letter>,
letters: HashMap<char,&'a Letter>
}
impl<'a> Alphabet<'a>{
pub fn new()->Alphabet<'a>{
return Alphabet{
vowels: Vec::new(),
consonants: Vec::new(),
letters: …Run Code Online (Sandbox Code Playgroud) 我刚才在一本书上读到了这段代码。
public class AdapterWrapper implements ListAdapter {
ListAdapter delegate=null;
// other code
}
Run Code Online (Sandbox Code Playgroud)
这ListAdapter是一个公共接口,并且已创建该接口的引用并将其分配为 null。这是有效的吗?我对此真的很困惑。