Вопросы с тегами [key-bindings]

1

голосов
1

ответ
52

Просмотры

Простой keybind не работает, как ожидалось

Я пытаюсь связать Ctrl + X, чтобы editor.action.clipboardCutAction (вырезания), но с условием, что он вызывается только при выборе текста. Тем не менее, он не работает. Он по-прежнему режет всю линию, когда не выбран ни один текст. Код: "ключ": "Ctrl + X", "Команда": "editor.action.clipboardCutAction", "когда": "editorTextFocus && && editorHasSelection editorReadonly"
John DeBord
1

голосов
0

ответ
20

Просмотры

WPF KeyBinding с несколькими символов

Я хотел бы создать KeyBinding в коде за помощью этой комбинации: Ctrl + Shift + Right + Left, так что я сделал: KeyBinding б = новый KeyBinding () {Command = SpvCommands.ChangeUser, Key = Key.LeftCtrl, // Жест = новый KeyGesture (Key.LeftShiftKey); }; InputBindings.Add (б); Как создать gestuyre с многопостовым?
1

голосов
0

ответ
10

Просмотры

Перемещение тетрис куски, нажав клавиши в матрице

Это мой первый пост, я только начал программировать с Java, и я хотел бы, чтобы попытаться сделать тетрис на него. Моя ява умение весьма ограничены, и мне было интересно, как сделать мои кусочки двигаться в то время как они падают. Это то, что я закодирован до сих пор, я знаю, что это немного неуклюжим, но быть нежным PLS, я только начал! И извините за мой ломаном английском, я все еще учусь, что хорошо. импорт java.util.Scanner; общественного класса Тетрис {государственной статической силы основных (String [] арг) {INT [] [] матрица = новый INT [20] [10]; логическое значение ERR = ложь, NewGame = TRUE; Строка сино = ""; // Китайско являются, да и нет в итальянском :) (Si = да) (нет = нет OFC) Сканер т = новый сканер (System.in); printMatrix (матрица); делать {игру (матрица); делать {ERR = ложь; сиьно = ""; сиьно = t.nextLine (); если (sino.equalsIgnoreCase ( "нет" )) NewGame = ложь; еще {если (sino.equalsIgnoreCase ( "си")!) {ERR = истина; System.out.println ( "errore"); }}} В то время (ERR); } В то время как (NewGame); } Государственной статической силы игры (ИНТ [] [] матрица) {} Здесь я первый случайно выбрать кусок, а затем сделать его падение вниз с вершины, и есть возможность сделать его вращать и / или перемещения влево и вправо. Я до сих пор закодировать все отдельные части, которые будут случайно выбраны каждый кусок падает вниз. государственной статической силы printMatrix (INT [] [] матрица) {для (INT I = 0; я } Государственной статической силы игры (ИНТ [] [] матрица) {} Здесь я первый случайно выбрать кусок, а затем сделать его падение вниз с вершины, и есть возможность сделать его вращать и / или перемещения влево и вправо. Я до сих пор закодировать все отдельные части, которые будут случайно выбраны каждый кусок падает вниз. государственной статической силы printMatrix (INT [] [] матрица) {для (INT I = 0; я } Государственной статической силы игры (ИНТ [] [] матрица) {} Здесь я первый случайно выбрать кусок, а затем сделать его падение вниз с вершины, и есть возможность сделать его вращать и / или перемещения влево и вправо. Я до сих пор закодировать все отдельные части, которые будут случайно выбраны каждый кусок падает вниз. государственной статической силы printMatrix (INT [] [] матрица) {для (INT I = 0; я
Matteo Camesasca
1

голосов
1

ответ
409

Просмотры

переопределить внешний вид дисплея ключей акселератора в JMenuItems в Java / Swing

Я заметил, что на некоторых МАХ JMenuItem использует слово «пространство», чтобы указать, что пробел является ключом связывания. На других Маков используется символ (выглядит как короткий капитал U). Я предпочел бы «пространство» презентацию, так как это более прозрачно для пользователей. Есть ли способ, чтобы переопределить как LAF графически представляет ключ акселератора?
Yuvi Masory
1

голосов
1

ответ
45

Просмотры

Делая различные действия на основе Настраиваемые комбинации клавиш

Мне нужно принять в настраиваемых действиях, считанных из файла и связать их с ключом для программы. Если у меня есть файл, например так: W: до s: вниз: слева D: право Как бы я идти о получении этого работает? Единственный способ я вижу, что делает это: // жёстко прописанные строки к действию, чтобы превратить «вверх» в актуальной инструкции действий HashMap = новый HashMap
Nathan
1

голосов
1

ответ
911

Просмотры

MonoDevelop: Edit Key Bindings XML?

Я задаюсь вопросом, где редактировать сочетания клавиш для MonoDevelop в текстовом формате / XML. Я нахожусь в ситуации, когда я регулярно переключаться между Mac и ПК, и функция копирования / вставки между ними сводит меня с ума. Я физически переназначен мою клавиатуру для Windows, поэтому все функции так близко, как я могу получить их для копирования / вставки, за исключением. Когда я пытаюсь изменить ключ привязки для копирования в окне редактора, я пытаюсь установить его на Alt + C (который физически / визуально отображается на то же место, что и Ctrl + C на клавиатуре). Но когда я ударил этого комбинацию клавиш, чтобы сохранить его, что команда с трудом сопоставляется с «отменить» в Windows 7 OS, так что отменяет из диалогового окна, прежде чем я успешно переназначить этот конфиг. Я не смог найти, после некоторых Googling, где конфигурационный файл для этого. заранее спасибо
zombience
1

голосов
2

ответ
1.2k

Просмотры

JQuery привязать несколько .keydown событий в одном случае [дублированный]

Этот вопрос уже есть ответ здесь: Переключить заявление нескольких случаев в JavaScript 17 ответов Поскольку я довольно новый для JS и JQuery я задавался вопрос, если это возможно, чтобы связать более чем один ключ к событию. Я пытался ||, и или без каких-либо удачи. Я хотел бы связать и левую стрелку в одном случае вместо того, чтобы сделать еще один случай. $ (Документ) .keydown (функция (событие) {переключатель (event.keyCode) {случай (37 или 65): предупреждение ( "левый"); перерыв;}});
Sven Rojek
1

голосов
1

ответ
2k

Просмотры

InputBinding CommandParameter Привязка к коллекции

Для KeyBinding я настройка CommandParameter в Xaml с использованием Binding. В Binding имеет настройки конвертера. Когда я связать параметр к свойству (INPC) связывания системы переоценивает с использованием конвертера. Однако, когда я параметр, наблюдаемой коллекции, на CollectionChanged связывающая система не переоценивать. Поэтому я получить начальное преобразованное значение. Есть ли способ я вызвать CommandParameter повторно evalaute на CollectionChanged. В приведенном выше коде, я настроить ViewModel (DataContext). Но я намерен связать параметр командной строки на коллекции SelectedRows по управляющая сетка в радиолампе.
Bhavesh
1

голосов
2

ответ
205

Просмотры

Последние добавленные кнопки Java позволяет agent.move, отдых Dont

Я новичок в Java, и работаю над созданием коды, чтобы получить небольшое изображение автомобиля, чтобы двигаться с помощью клавиш. Моя проблема в том, когда я добавить больше чем 1 кнопку на панель. Функция кнопки в коде размещает ничего нет, только печатает «кнопка [я] нажал» сообщение. Цель состоит в том, чтобы они прочитать файл и обновить местоположения автомобиля из данных в файле. Это должно быть частью моего проекта на подкрепление. Я думал, что это будет хорошая возможность узнать Java, так как это «графический пакет» не является необходимым для проекта, просто «хорошее» дополнение. Код здесь: пакет графика; общественный класс Board расширяет JPanel реализует ActionListener {личное таймер Timer; частный агент агент; частная кнопка String = "button.png"; частное изображение изображения; защищенный JButton b1; защищенный JButton b2; защищенный JButton b3; общественный совет () {// KeyListener добавлен для агента, чтобы ответить на стрелку ключей addKeyListener (новый TAdapter ()); агент = новый Агент (); Таймер = новый таймер (10, это); // 10ms вызовы таймера действия выполняются timer.start (); // Эта часть для кнопки. ImageIcon я = новый ImageIcon (this.getClass (кнопка) () getResource.); изображение = i.getImage (); b1 = новый JButton ( "1", я); b1.setVerticalTextPosition (AbstractButton.CENTER); b1.setHorizontalTextPosition (AbstractButton.LEADING); b1.setActionCommand ( "Active1"); b2 = новый JButton ( "2", я); b2.setVerticalTextPosition (AbstractButton.CENTER); b2.setHorizontalTextPosition (AbstractButton.LEADING); b2.setActionCommand ( "Active2"); b3 = новый JButton ( "3", я); b3.setVerticalTextPosition (AbstractButton.CENTER); b3.setHorizontalTextPosition (AbstractButton.LEADING); b3.setActionCommand ( "Active3"); b1.addActionListener (это); b2.addActionListener (это); b3.addActionListener (это); добавить (b1); добавить (б2); добавить (б3); setFocusable (истина); setBackground (Color.BLACK); setDoubleBuffered (истина); } Пустот краска общественности (график г) {super.paint (г); Graphics2D g2d = (Graphics2D) г; // Трансформации для агента, чтобы быть окрашено на основе своего положения и ориентации AffineTransform транс = новый AffineTransform (); trans.rotate (Math.toRadians (agent.getTh ()), agent.getX () + 64, agent.getY () + 64); trans.translate (agent.getX (), agent.getY ()); g2d.drawImage (agent.getImage (), транс, это); . // Рисует агент преобразования с указанными Toolkit.getDefaultToolkit () синхронизации (); g.dispose (); } Общественного недействительными actionPerformed (ActionEvent ае) {b1.setEnabled (истина); b2.setEnabled (истина); b3.setEnabled (истина); если (ae.getActionCommand () == "Active1") {b1.setEnabled (ложь); b2.setEnabled (истина); b3.setEnabled (истина); System.out.println ( "Клики 1"); agent.reset (); } Если (ae.getActionCommand () == "Active2") {b1.setEnabled (истина); b2.setEnabled (ложь); b3.setEnabled (истина); System.out.println ( "Клики 2"); agent.reset (); } Если (ae.getActionCommand () == "Active3") {b1.setEnabled (истина); b2.setEnabled (истина); b3.setEnabled (ложь); System.out.println (» } Частный класс TAdapter расширяет KeyAdapter {общественного недействительными keyReleased (KeyEvent е) {agent.keyReleased (е); } Общественного недействительными KeyPressed (KeyEvent е) {agent.keyPressed (е); }}} Теперь проблема заключается в следующем. Если я нажимаю кнопку 1 или кнопку 2, остальные кнопки отключены, и он говорит «Нажал 1 (или 2)», который прекрасно. Но agent.move () и перекрасить () не вызывается. Автомобиль не перемещается при нажатии клавиш. Если я после этого нажмите кнопку 3, остальные две кнопки отключены, и автомобиль движется с ключами. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично. } Частный класс TAdapter расширяет KeyAdapter {общественного недействительными keyReleased (KeyEvent е) {agent.keyReleased (е); } Общественного недействительными KeyPressed (KeyEvent е) {agent.keyPressed (е); }}} Теперь проблема заключается в следующем. Если я нажимаю кнопку 1 или кнопку 2, остальные кнопки отключены, и он говорит «Нажал 1 (или 2)», который прекрасно. Но agent.move () и перекрасить () не вызывается. Автомобиль не перемещается при нажатии клавиш. Если я после этого нажмите кнопку 3, остальные две кнопки отключены, и автомобиль движется с ключами. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично. }}} Теперь проблема заключается в следующем. Если я нажимаю кнопку 1 или кнопку 2, остальные кнопки отключены, и он говорит «Нажал 1 (или 2)», который прекрасно. Но agent.move () и перекрасить () не вызывается. Автомобиль не перемещается при нажатии клавиш. Если я после этого нажмите кнопку 3, остальные две кнопки отключены, и автомобиль движется с ключами. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично. }}} Теперь проблема заключается в следующем. Если я нажимаю кнопку 1 или кнопку 2, остальные кнопки отключены, и он говорит «Нажал 1 (или 2)», который прекрасно. Но agent.move () и перекрасить () не вызывается. Автомобиль не перемещается при нажатии клавиш. Если я после этого нажмите кнопку 3, остальные две кнопки отключены, и автомобиль движется с ключами. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично. Если добавить кнопки в другом порядке добавления (b3); добавить (б2); добавить (b1); то же самое происходит, но на этот раз его кнопка 1, которая работает отлично.
1

голосов
1

ответ
688

Просмотры

получить нажатие клавиш в Java без фокусировки?

я хотел сделать программу Java для получения нажатий клавиш без фокусировки и без KeyEvent объекта класса для моего проекта .. есть ли способ сделать это .. ?? я попытался это, но он не выполняет мои требования !! импорт java.awt.Container; импорт java.awt.event.ActionEvent; импорт java.awt.event.ActionListener; импорт java.awt.event.KeyEvent; импорт javax.swing.JButton; импорт javax.swing.JFrame; импорт javax.swing.JPanel; импорт javax.swing.JTextField; импорт javax.swing.KeyStroke; импорт javax.swing.text.Keymap; общественный класс key1 {частные статические аннулируются ShowUI () {JFrame JFrame = новый JFrame ( ""); jFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); Контейнер Контейнер = jFrame.getContentPane (); JTextField TXT = новый JTextField (); container.add (.txt, BorderLayout.NORTH); ActionListener actListener = новый ActionListener () {@Override общественного недействительными (событие ActionEvent) actionPerformed {System.out.println (event.getActionCommand () + "выбрано"); }}; JPanel jPane = новые JPanel (); JButton DefaultButton = новый JButton ( "Нажмите Enter"); defaultButton.addActionListener (actListener); jPane.add (DefaultButton); JButton otherButton = новый JButton ( "Onother Button"); otherButton.addActionListener (actListener); jPane.add (otherButton); container.add (jPane, BorderLayout.SOUTH); Раскладка карта = txt.getKeymap (); KeyStroke ход = KeyStroke.getKeyStroke (KeyEvent.VK_ENTER, 0, ложно); map.removeKeyStrokeBinding (инсульт); jFrame.getRootPane (). setDefaultButton (DefaultButton); jFrame.setSize (350, 250); jFrame.setVisible (истина); } Государственной статической силы основных (String арг []) {javax.swing.SwingUtilities.invokeLater (новый Runnable () {@Override общественного недействительными запуска () {ShowUI ();}}); }}
anookha
1

голосов
3

ответ
185

Просмотры

Как получить список всех доступных в настоящее время команды и горячие клавиши?

Для того, чтобы помочь мне научиться работать с различными режимами Emacs, я хотел бы иметь второй монитор с небольшой HTML-страницы, которая используется для показа мне, какого рода вещи я могу ввести или ключ-аккорд на все, что я в настоящее время, глядя на в Emacs. Так как я могу получить список всех команд и ключевых аккордов, доступных для меня в моем текущем режиме?
themirror
1

голосов
1

ответ
61

Просмотры

Переназначение ключа Windows, к комбинации клавиш

Как вы можете переназначить окна действия к комбинации клавиш в Java? Я хочу, чтобы в основном разделяют действие Windows по умолчанию «Page Down» на комбинации клавиш, такие как «D» управления. Это то, что я до сих пор: KeyStroke addedKeyStroke = KeyStroke.getKeyStroke ( "контроль D"); . GetInputMap () поставил (addedKeyStroke, "страница вниз"); Однако, ничего не происходит, когда я нажимаю Ctrl-L. Пожалуйста, может кто-то дайте мне знать, что нужно сделать, чтобы получить эту работу? Спасибо,
maloney
1

голосов
1

ответ
56

Просмотры

Определить универсальный, на котором данное сочетание клавиш программа делает что-то

Я хочу, чтобы моя программа что-то делать, когда пользователь нажимает определенную данное сочетание клавиш, скажем Control-Shift-f7. Но я хотел бы, что KeyBinding быть универсальным в том смысле, что пользователь не должен би в программе, чтобы использовать его, программа просто работает в фоновом режиме. Пример программы, которая использует это puush. Он работает вроде в фоновом режиме все время, а затем принимает скриншот всякий раз, когда один нажимает Control-Shift-3. Как это возможно? Я на окнах кстати :) Большое спасибо за ответы PS: Я действительно не волнует, какой язык программирования использовать. Если вы привести примеры кода (которые я бы, конечно, ценю) Я предпочитаю Ruby, C # или Java, но я очень доволен общим ответом Aswell, так что я могу исследовать все остальное.
tomet
1

голосов
1

ответ
316

Просмотры

Как использовать сочетания клавиш на JLabel? [Дубликат]

Этот вопрос уже есть ответ здесь: KeyListener для JLabel не работает для меня [дублированный] 2 ответов я в beginer в кодировании с Java (и в английском тоже), и я пытаюсь сделать понг игры с затмением. Моя проблема в том, что я не знаю, как сделать Moove моих 2 Ракеток (JLabel) нажатием клавиши дифферента на клавиатуре. Я первый попробовать с KeyListener, но я не suceed, так что теперь я стараюсь с KeyBinding, я много читал учебник, но я не понял. Так как я могу просто сделать мои две ракетки Moove, нажимая клавиши со стрелками. Вот часть кода: импорт java.awt.Color; импорт javax.swing *. импорт java.awt.event *. общественный класс Pongg расширяет JPanel реализует KeyListener {частное JLabel Racket1; // Ракетка 1: Racket1.setBounds (50, 200, 16, 100); // Ракетка 2: Racket2.setBounds (900, 200, 16, 100); Racket2.setBackground (Color.white); Racket2.setOpaque (истина); Fond.add (Racket1); Fond.add (Racket2); EDDIT: здесь я пытался сделать это с KeyListener (я понятия не имею, как это сделать с KeyBinding): частный набор appuye = новый HashSet (); общественного недействительный keyTyped (KeyEvent е) {} общественного недействительного KeyPressed (KeyEvent е) {appuye.add (e.getKeyCode ()); // На ajoute ле Номбр correspondant ля Туш press ля listę если (appuye.contains (KeyEvent.VK_UP)) {// ла listę contient-Elle Cette Touche? (C'est ип INT статичны, Donc пригодны для использования в меню Partir де-ла-Classe, мем без Objet) Racket1.setLocation (Racket1.getX (), Racket1.getY () - 16); } Если (appuye.contains (KeyEvent.VK_DOWN)) {Racket1. setLocation (Racket1.getX (), Racket1.getY () + 16); } Если (appuye.contains (KeyEvent.VK_A)) {Racket2.setLocation (Racket2.getX (), Racket2.getY () - 16); } Если (appuye.contains (KeyEvent.VK_Q)) {Racket2.setLocation (Racket2.getX (), Racket2.getY () + 16); }} Общественного недействительными keyReleased (KeyEvent е) {appuye.remove (e.getKeyCode ()); // Lorsque ла Туш Эст relachée на пенсию сына Numéro-де-ла Liste. } }} Общественного недействительными keyReleased (KeyEvent е) {appuye.remove (e.getKeyCode ()); // Lorsque ла Туш Эст relachée на пенсию сына Numéro-де-ла Liste. } }} Общественного недействительными keyReleased (KeyEvent е) {appuye.remove (e.getKeyCode ()); // Lorsque ла Туш Эст relachée на пенсию сына Numéro-де-ла Liste. }
Silver
1

голосов
1

ответ
792

Просмотры

Путь по умолчанию Изменить Atom Key Bindings keymap.cson файл

Я настроил все мои ключевые привязки для Atom редактора в keymap.cson, который расположен в C: \ Users \ Имя пользователя \ .atom \ keymap.cson, но мне нужно syncronise его папку Dropbox или Google Drive для будущих headakes если я переустановить ОС или редактор. Итак, как настроить Atom читать Keymap.cson файл из другого места?
zur4ik
1

голосов
1

ответ
250

Просмотры

Деактивировать выбор письмом в JList

У меня есть список JList и следующую строку кода: list.getInputMap () положим (KeyStroke.getKeyStroke ( 'd'), "действие");. Поэтому, когда мой список находится в фокусе, и я нажимаю клавишу D на клавиатуре действие должно быть выполнено. Это действие принимает во внимание, который в данный момент выбран пункт моего JList. Проблема заключается в том, что всякий раз, когда есть пункт в моем списке с первой буквой «D», мой выбор будет перейти к этому входу первым, а затем выполнить действие (применительно к неправильному пункту). Так что мой вопрос: Как отключить эти выборы прыжков в JLists вызванного печатая письмо?
1

голосов
1

ответ
1.1k

Просмотры

связывание в Sublime Text 3 По умолчанию клавиша не работает

У меня возникли некоторые проблемы с ключевыми привязками в Sublime Text 3. В частности «Cmd + Shift + F - найти во всех файлах». У меня нет собственных привязок ключей пользователей сохранены. Когда я нажимаю Ctrl + Shift + F ничего не происходит. Большинство ключевых привязок, кажется, работают хорошо, но не Cmd + Shift + F (тот, я действительно хотел бы работать). Если я изменить ключевые пользовательские пользовательские привязки: { "ключи": [ "супер + Shift + F"], "Команда": "show_panel", "арг": { "панель": "find_in_files"}} (по умолчанию), чтобы { "ключи": [ "Alt + Shift + F"], "команда": "show_panel", "арг": { "панель": "find_in_files"}} (пользовательские), например, она работает. Но я хочу, Ctrl + Shift + F, чтобы работать плохо! Есть ли какой-либо один какие-либо идеи, что может быть причиной этого? Может быть, некоторые сочетания клавиш на мой макинтош, что наслаивается Высшую ключ Текст привязки? У меня установлен плагин муравья. Любые предложения на все ценятся. Заранее спасибо.
Marcus
1

голосов
1

ответ
134

Просмотры

Есть ли способ, чтобы создать ключ привязки в Eclipse RCP, который работает независимо от фокуса?

Я занимаюсь разработкой RCP приложения в затмении. Мне нужно создать ключ привязки, чтобы сделать какое-то действие, но независимо от текущего фокуса. Другими словами, мне нужно создать ключ связывания, который слушает все время, никаких вопросов, какая часть приложения лет uare с использованием или которые не имеют окна текущего фокуса. Например, если окно с меню (File) и двух вариантов (Open и выход). Открыть открывает диалоговое окно и выход закрывает приложение. Существует также ключ связывания (Ctrl + 1), который выполняет кнопку Exit. То, что я хочу, чтобы иметь возможность закрыть приложение с помощью Ctrl + 1, даже если у меня есть акцент на диалоге, отображаемого Open. То, что я испытал Теперь у меня есть RCP приложение, которое имеет KE связывания (Ctrl + 1) на кнопку Exit, но когда я делаю Ctrl + 1, когда фокус находится в диалоговом окне отображается открытым способом, ключ связывания не работает. Вот обработчики. // Обработчик кнопки Открыть общественный класс OpenHandler реализует IHandler {... общественный объект выполнить (ExecutionEvent событие) бросает ExecutionException {// TODO Auto-генерироваться метод заглушка окончательного ExecutionEvent auxEvent = событие; HandlerUtil.getActiveShell (событие) .getDisplay () asyncExec ((новый Runnable () {общественного недействительными запуска () {MessageDialog.openWarning (HandlerUtil.getActiveShell (auxEvent), "неправильно", "нет");}})). возвращать нуль; } ...} // Обработчик кнопки Выход общественного класса ExitHandler расширяет AbstractHandler {общественного объекта выполнить (ExecutionEvent событие) бросает ExecutionException {HandlerUtil.getActiveWorkbenchWindow (событие) .close (); возвращать нуль;
Dan
1

голосов
1

ответ
135

Просмотры

История / частичный поиск с стрелка вверх на лестницу оболочки

Как я могу сделать Scala интерактивной программы оболочки ведет себя таким образом (используя стрелку вверх, чтобы перейти к последней команде, если я ничего не напечатал или перейти к последней команде в данной оболочке, начиная с того, что я напечатал) вместо реверс-I-поиска?
gsmafra
1

голосов
1

ответ
257

Просмотры

WPF Приложить команду на текстовом поле на клавиши возврата в NET 3.5

Я пытаюсь приложить команду и CommandParameter в текстовое поле на обратном ключе, но без успеха. Параметр текущий текст в том же текстовом поле. В основном я хочу, чтобы выполнить команду, когда пользователь щелкает по возвращению / клавиши ввода и передач в качестве параметра текущего текста в текстовом поле. Я нашел эту ссылку, где он сказал, что в .NET 3.5 параметра команды для сочетания клавиш не принимает привязки. Таким образом, решение предлагается с помощью кода в код-за, но как я могу передать параметр в команде из кода?
user1624552
1

голосов
1

ответ
249

Просмотры

В Spacemacs (или Emacs), можно связать ключи другими ключами?

Вот одна вещь, которую было трудно узнать. В Spacemacs (или Emacs), можно получить заданную комбинацию клавиш набора для выполнения любой другой комбинации клавиш должен делать? Другими словами, можно, например, иметь клавишу F5 всегда выполнять то, что комбинация Cc Cc должна делать? Что-то вроде: (глобального набора ключей [переназначить (KBD "F5")] (KBD "Cc Cc")) Позвольте мне привести конкретный пример для наглядности. Комбинация клавиш Cc Cc часто используется для отправки весь код текущего буфера в интерпретатор / консоль, будь то, чтобы послать код этого буфера для интерпретатора Python в том случае, код находится в .pyfile, или отправить его на R консоли с пакет ESS в файле .R. Теперь предположим, что один хочет иметь клавишу F5 установить, чтобы сделать это для этих двух языков и, может быть, даже больше. Очевидным решением было бы просто реализовать сочетания клавиш, которые различны для каждого пакета. Тем не менее, было бы гораздо проще, если бы можно было просто сказать: всякий раз, когда F5 нажата, она должна привести к любой команде, связанной с `Cc Cc называют. Можно ли иметь такую ​​вещь? Я особенно заинтересован в этом, что для Spacemacs, но, конечно, более общий ответ для Emacs является приемлемым.
Louis15
1

голосов
1

ответ
84

Просмотры

Xmonad: ключ привязки, чтобы принести окно из другого рабочего пространства для текущего рабочего пространства

Я надеюсь, что вы, ребята, можете помочь мне, как я новичок в Haskell и Haskell-фу слабоват. Я пытаюсь создать землетрясения, как терминал, который падает вниз, когда возникнет необходимость. По большей части я понял, что хранение именованного терминала urxvt в макете, управляемый simpleDrawer (XMonad.Layout.Drawer) работает хорошо для этого. То, что я имею проблему с является обязательным ключ к нему, чтобы он всплывал на любом рабочем пространстве Я, случается. Опция bringSelected не работает для меня, как я не хочу иметь дело с меню сетки , То, что я пытался, что получил мне ближе всего находится: raiseMaybe (spawnHere "urxvt -name ящик") (ресурс = "ящик"?) И: ifWindows (ресурс = "ящик"?) (MapM_ фокус) (грибница «urxvt - имя ящика» ) Проблема заключается в том, что и в основном делают то же самое, что вместо того, чтобы указанное окно (с ресурсом =? «Выдвижного ящика») в моем текущем рабочем пространстве, он сдвигает меня от моего текущего рабочего пространства, чтобы там, где она была вызвана в последний раз. В идеале я ищу что-то вдоль линий: (? Ресурса = «ящик») ifWindows ({- переместить окно в текущем рабочем пространстве -}) (spawnHere «urxvt -name ящик»)
Ignis-fatuus
1

голосов
2

ответ
0

Просмотры

Conkeror Сочетания клавиш на Mac OSX

Кто-нибудь понял, как изменить сочетания клавиш для мета- и управления ключами для Conkeror на Mac OS X? Например, в Emacs У меня есть C сопоставлен с ключом командного яблока и мой M сопоставляется с дополнительным ключом. Есть ли способ сделать это для Conkeror? Можно ли поставить JavaScript для файла .conkerorrc?
Alex
1

голосов
2

ответ
0

Просмотры

Как получить реакции организма gtkDialog по умолчанию для запуска космического бара, а также

У меня есть messageDialog настроить таким образом, что его ответ по умолчанию gtk.RESPONSE_OK поэтому кнопка хорошо нажата, когда пользователь нажимает войти, даже если кнопка нормально не имеет фокус. Я хотел бы также иметь пробел trigget default_response. Что такое лучший способ сделать это? Это с Python 2.4 в среде Linux. К сожалению, у меня нет разрешения на модернизацию питона.
lathomas64
1

голосов
1

ответ
0

Просмотры

Проблема с ключевыми креплениями

Я создаю клон Pong, и я пытаюсь использовать сочетание клавиш. Это работает: getInputMap () положим (KeyStroke.getKeyStroke ( "F2"), "leftup");. . GetActionMap () поставил ( "leftup", новый AbstractAction () {частный статический окончательный длинный serialVersionUID = -7625435800213244316L; общественная пустота actionPerformed (ActionEvent е) {System.out.println ( "Yay");}}); Но не это:. GetInputMap () положим (KeyStroke.getKeyStroke (KeyEvent.VK_W, Event.ACTION_EVENT), "leftup"); . GetActionMap () поставил ( "leftup", новый AbstractAction () {частный статический окончательный длинный serialVersionUID = -7625435800213244316L; общественная пустота actionPerformed (ActionEvent е) {System.out.println ( "Yay");}});
Cg2916
1

голосов
1

ответ
1.2k

Просмотры

Using Key Bindings to move Images

Я пытаюсь создать игру Танки, но я все еще учусь, как сделать графическое программирование на Java. Я сначала пытался двигаться один из двух изображений (которые один зависит, на котором игрок будет) с KeyListeners. Мне сказали, что Key Bindings может быть более эффективным способом идти об этом. Вот некоторые из моего кода: общественный класс FrameMain расширяет JFrame {... общественный FrameMain () {this.addBindings (); В addBindings () метод: защищен недействительным addBindings () {InputMap InputMap = pnlPlay.getInputMap (); KeyStroke ключ = KeyStroke.getKeyStroke (KeyEvent.VK_RIGHT, Event.KEY_PRESS); inputMap.put (ключ, pnlPlay.pnlGame.MoveTank (2, pnlPlay.nPlayer)); ключ = KeyStroke.getKeyStroke (KeyEvent.VK_LEFT, Event.KEY_PRESS); inputMap.put (ключ, pnlPlay.pnlGame.MoveTank (-2, pnlPlay.nPlayer)); } Метод MoveTank: открытая INT MoveTank (интермедиат XCHANGE, Int nPlayer) {System.out.println ( "шаг" + nPlayer); если (nPlayer == 0) {tank1.x + = XCHANGE; } Еще tank2.x + = XCHANGE; перекрасить (); возвращает 1; } Проблема у меня в том, что, когда я нажимаю правую или левую клавишу со стрелкой, я не получаю какой-либо ответ. Она должна быть печать «перемещение #», но это не так. Если кто-нибудь знает, что я сделал неправильно, или может мне точку в направлении какого-то кода, который делает то же самое, я был бы признателен. Я учусь лучше видеть код в рабочем состоянии, а затем играть с ней. перекрасить (); возвращает 1; } Проблема у меня в том, что, когда я нажимаю правую или левую клавишу со стрелкой, я не получаю какой-либо ответ. Она должна быть печать «перемещение #», но это не так. Если кто-нибудь знает, что я сделал неправильно, или может мне точку в направлении какого-то кода, который делает то же самое, я был бы признателен. Я учусь лучше видеть код в рабочем состоянии, а затем играть с ней. перекрасить (); возвращает 1; } Проблема у меня в том, что, когда я нажимаю правую или левую клавишу со стрелкой, я не получаю какой-либо ответ. Она должна быть печать «перемещение #», но это не так. Если кто-нибудь знает, что я сделал неправильно, или может мне точку в направлении какого-то кода, который делает то же самое, я был бы признателен. Я учусь лучше видеть код в рабочем состоянии, а затем играть с ней.
user1366342
1

голосов
2

ответ
1.3k

Просмотры

Emacs, питон-mode.el определить назначение клавиш-карты

Когда я загружаю файл питон-mode.el в Emacs, я не получаю какой-либо из ключевых привязок указанных. Я начал играть с файлом и заметил, что при изменении: (определить-клавишную карту [(контроль с) (\ #)] «ого-комментарий-регион): (определить ключ глобального отображения [(контроль с) ( \ #)] «пй-комментарий-область) работает отлично. Я пошел посмотреть, где определить переменную карту и увидел: ( «Раскладка используется в * буферах Python * оболочка» DefVar PY-оболочке-карту ноля) ;; используется фосфотирозинсодержащими завершения-в-точки, путь python.el (DefVar питон-оболочка-карты (пусть ((карта (копия-раскладки Comint-режим-карта))) (определить-ключ карты [Tab] «пх -оболочка-полная) (определить ключ карты "\ cc-" 'ого-до-исключение) (определить-ключ карты "\ Cc ="' ой-вниз-исключение) карта) «KEYMAP используется в * Python * буферах оболочки ".) Является ли„карта“ переменная, определенная в порядке? Должен ли я сделать некоторые изменения в мой файл инициализации? Я предполагаю, что этот файл работает для всех остальных, так почему мне нужно изменить переменную «карты» на «глобальной карты» для того, чтобы работать на моем компьютере? Я бегу в виртуальной машине, если это какой-либо помощи.
1

голосов
1

ответ
200

Просмотры

Отключение почты в Emacs 23

Мне интересно, если его можно отключить почту в Emacs 23. В принципе, я время от времени нажмите C-хт и меня раздражает, что она будет создавать папку почты в моем домашнем каталоге. (Я также хочу, чтобы переназначить это «выполнить выдвинутую команду). Я попытался (глобальным незадан ключом «\ Cx м») (глобальный установить ключ (KBD «Cc м») «выполнить удлиненную-команда), но это, кажется, не влияет на что-либо.
rottweiler
1

голосов
1

ответ
150

Просмотры

Switching set of keyboard shortcuts at run-time

Малое применение одного окна (игра) имеет графический объект, управляемые кнопки GUI. У меня есть набор горячих клавиш, отображенные на них (то есть клавиши со стрелками). Это достаточно легко, чтобы иметь возможность изменить набор ярлыков на лету? Например, JOption выбрать между клавишами со стрелками и WASD? Хотя я до сих пор борюсь с переплетом, здесь есть идея, я с самим переключателем: // KeyStroke объекты, которые будут использоваться при отображении их в действие KeyStroke KeyUp, keyLeft, keyRight, KeyDown; JRadioButton [] kbdOption = новый JRadioButton [2]; kbdOption [0] = новый JRadioButton ( "стрелки"); kbdOption [1] = новый JRadioButton ( "WASD"); если (kbdOption [0] .isSelected ()) {KeyUp = KeyStroke.getKeyStroke (KeyEvent.VK_UP, 0); keyLeft = KeyStroke.getKeyStroke (KeyEvent.VK_LEFT, 0); keyRight = KeyStroke.getKeyStroke (KeyEvent. VK_RIGHT, 0); KeyDown = KeyStroke.getKeyStroke (KeyEvent.VK_DOWN, 0); } Иначе, если (kbdOption [0] .isSelected ()) {KeyUp = KeyStroke.getKeyStroke (KeyEvent.VK_W, 0); keyLeft = KeyStroke.getKeyStroke (KeyEvent.VK_A, 0); keyRight = KeyStroke.getKeyStroke (KeyEvent.VK_D, 0); KeyDown = KeyStroke.getKeyStroke (KeyEvent.VK_S, 0); } Как я не могу проверить это сам, это выглядит прилично? Является ли объем собственных (то есть, я могу реально использовать его в тот же метод, который строит остальную часть GUI или должен, если-иначе будет вызываться из других)? Будет ли это работать на лету мгновенно меняющегося привязок, как работает программа? getKeyStroke (KeyEvent.VK_D, 0); KeyDown = KeyStroke.getKeyStroke (KeyEvent.VK_S, 0); } Как я не могу проверить это сам, это выглядит прилично? Является ли объем собственных (то есть, я могу реально использовать его в тот же метод, который строит остальную часть GUI или должен, если-иначе будет вызываться из других)? Будет ли это работать на лету мгновенно меняющегося привязок, как работает программа? getKeyStroke (KeyEvent.VK_D, 0); KeyDown = KeyStroke.getKeyStroke (KeyEvent.VK_S, 0); } Как я не могу проверить это сам, это выглядит прилично? Является ли объем собственных (то есть, я могу реально использовать его в тот же метод, который строит остальную часть GUI или должен, если-иначе будет вызываться из других)? Будет ли это работать на лету мгновенно меняющегося привязок, как работает программа?
theUg
1

голосов
1

ответ
131

Просмотры

Key Bindings not responding

I followed an example someone posted on another question for key bindings to control an object. For the sake of simplicity all it is controlling is printing "woo" when VK_UP is pressed but it doesn't do that. some code from here that I still can't manage to get working. Heres the main import javax.swing.*; @SuppressWarnings("serial") public class apples extends JFrame { static boolean running; public static void main(String[] args){ JFrame f = new JFrame(); Peach p = new Peach(); f.getContentPane().add(new test()); f.add(new test()); f.add(p); f.setSize(400,250); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true); p.run(); } } and here is the key binding stuff import java.awt.*; import java.awt.event.*; import java.util.HashMap; import java.util.Map; import javax.swing.*; @SuppressWarnings("serial") public class Peach extends JPanel { public void paint(Graphics g){ setOpaque(false); super.paintComponent(g); this.setBackground(Color.WHITE); g.setColor(Color.BLACK); g.fillOval(x, y, br, br); g.drawString("Sort of Pong?", 157, 20); g.setColor(Color.BLACK); g.fillRect(paddlex, paddley, psizex, psizey); //g.setColor(new Color(51, 255, 204)); //g.fillRect(100, 100, 80, 100); repaint(); } public void Panel(){ Thread go = new Thread(); go.start(); } int xpos; final int left = -1; //left increment final int right = 1; //right increment int up = -1; // up increment (negative because down is revered in coordinates) int down = 1; // down increment boolean check = true; // moving or not int x =200; // ball position x int y=100; // ball position y boolean rightmove = true; // moving right or left boolean leftmove = false; // moving left boolean upmove = true; // moving up boolean downmove = false; // moving down int paddlex = 100; // paddle position x int paddley = 100; // paddle position y int psizex = 100; // paddle size in x dimension int psizey = 100; // paddles size in y dimension int cdy; // for checking other side for collisions int cdx; // for checking other side for collisions int br = 8; // ball radius boolean shipupmove = false; boolean shipdownmove = true; int shipspeed = 1; boolean goup; long counter = 0; public void calc(){ cdy = psizey + paddley; // for checking other side for collisions cdx = psizex + paddlex; // for checking other side for collisions } public void run(){ while(true){ move(); collisiond(); calc(); counter++; try { Thread.sleep(8); } catch(InterruptedException ex) { } } } public void move(){ if (rightmove){ if(x 0){ x = (x-right); }else{rightmove = true; leftmove= false;} if (downmove){ if(y 0){ y = (y+up); }else{downmove = true; upmove= false;} } public void collisiond(){ if(leftmove && (x ==(cdx+1) || x == (cdx-1) || x == cdx)&& y >= paddley-br && y = paddley && y = paddlex && x paddlex && x < cdx){ downmove = false; upmove = true; } } public void movepaddle(){ if(shipupmove && paddley !=0){ this.paddley = paddley - 1 ; } if (shipdownmove && paddley < (205-psizey)){ this.paddley = paddley + 1; } if(paddley < 16){ shipupmove = false; shipdownmove = true; } if(cdy > 189){ shipupmove = true; shipdownmove = false; } repaint(); } } class test extends JPanel{ private static final long serialVersionUID = 1L; private Map directionMap = new HashMap(); int DELAY = 5; enum Direction { UP(KeyEvent.VK_UP,true), DOWN(KeyEvent.VK_DOWN, false); private int KeyCode; boolean moveing; Direction(int KeyCode, boolean moveing) { this.KeyCode = KeyCode; this.moveing = moveing; } public int getKeyCode(){ return KeyCode; } public boolean moveing(){ return moveing; } } public test(){ for(Direction direction : Direction.values()){ directionMap.put(direction, false); } setBindings(); Timer timer = new Timer(5, new TimerListener()); timer.start(); } private void setBindings(){ InputMap in = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW); ActionMap act = getActionMap(); for(final Direction d : Direction.values()){ KeyStroke press = KeyStroke.getKeyStroke(d.getKeyCode(), 0 ,false); KeyStroke rel = KeyStroke.getKeyStroke(d.getKeyCode(),0,true); in.put(press, "key pressed"); in.put(rel, "key released"); act.put(d.toString()+"pressed", new AbstractAction(){ private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent e) { directionMap.put(d, true); } }); act.put(d.toString()+"released", new AbstractAction(){ private static final long serialVersionUID = 1L; public void actionPerformed(ActionEvent e) { directionMap.put(d, false); } }); } } public class TimerListener implements ActionListener { @Override public void actionPerformed(ActionEvent e) { for(Direction d : Direction.values()){ if(directionMap.get(d)){ if(d.moveing()){ System.out.println("woo"); } } } } } } any insight would be appreciated thank you
Apcragg
1

голосов
2

ответ
6.4k

Просмотры

KeyListener doesn't work [duplicate]

This question already has an answer here: KeyListener doesn't work when I add button to Jpanel 1 answer I'm programing a game Bomberman-like, and I have a problem with my KeyListener. The thing is, when the game is running, the KeyListener doesn't respond, but when it's not running, it does what I tell him to. Here is my code public class direction extends Canvas implements KeyListener { static float bmx = 35; static float bmy = 35; static float v = 0.03f; public static BufferStrategy strategie; public static BufferedImage image; public direction() { //pas sûr de ce que ça fait GraphicsEnvironment ge = //on m'a dit de le mettre GraphicsEnvironment.getLocalGraphicsEnvironment(); //le programme marche très bien sans GraphicsDevice gd = ge.getDefaultScreenDevice(); GraphicsConfiguration gc = gd.getDefaultConfiguration(); image = gc.createCompatibleImage(700, 700); setSize(700, 700); } static boolean gauche; static boolean droite; static boolean haut; static boolean bas; public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_LEFT) { gauche = true; } if (e.getKeyCode() == KeyEvent.VK_RIGHT) { droite = true; System.out.println("lal"); } if (e.getKeyCode() == KeyEvent.VK_DOWN) { bas = true; } if (e.getKeyCode() == KeyEvent.VK_UP) { haut = true; } } public void keyReleased(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_LEFT) { gauche = false; } if (e.getKeyCode() == KeyEvent.VK_RIGHT) { droite = false; } if (e.getKeyCode() == KeyEvent.VK_DOWN) { bas = false; } if (e.getKeyCode() == KeyEvent.VK_UP) { haut = false; } } public void keyTyped(KeyEvent e) { } public static void draw(){ Graphics2D g = (Graphics2D) strategie.getDrawGraphics(); for(int ligne= 0 ; ligne < board.gridHauteur; ligne++){ for(int colonne= 0 ; colonne < board.gridLargeur ; colonne++){ switch (board.plateau1[ligne][colonne]) { case 0 : g.setColor(Color.lightGray); g.fillRect( 30*ligne, 30*colonne , 30, 30); break; case 1 : g.setColor(Color.black); //dessine et donne la propriété 'BLOCKED' à certains bloques g.fillRect( 30*ligne, 30*colonne , 30, 30); board.plateau1[ligne][colonne] = board.BLOCKED; break; case 2 : g.setColor(Color.darkGray); g.fillRect( 30*ligne, 30*colonne , 30, 30); board.plateau1[ligne][colonne] = board.BLOCKED; break; } } } g.setColor(Color.red); g.fillRect((int)bmx, (int)bmy, 20, 20); //dessine le "joueur" strategie.show(); } public static void run() { long dernierTempsLoop = System.currentTimeMillis(); // avec cette ligne, nous demandons un t0 while(true) { long delta = (System.currentTimeMillis() - dernierTempsLoop); // puis, à chaque nouvel boucle dernierTempsLoop = System.currentTimeMillis(); //nous calculons le temps que la //boucle à mise pour s'effectuer for (int i=0;i
Maxime Delisle
1

голосов
2

ответ
341

Просмотры

Комбинации клавиш не работает должным образом в JApplet

Класс используется, чтобы начать игру, в которую я сделал, когда вы нажимаете пространство, а затем перезапустить пространство, когда вы нажимаете пространство в игре над экраном. Он работает в первый раз, когда я нажимаю пространство и начинает игру так же, как следовало, но, когда я прихожу к игре над экраном и нажмите пробел, ничего не происходит. Я попытался расширяет JFrame вместо JApplet, а затем он работает просто отлично. Это мой код: пакет игры; импорт java.awt *. импорт java.awt.event *. импорт javax.swing *. общественный класс GameTest расширяет JApplet {частного PAPITest Papi; частная панель TestPane; частное булево inMenu = TRUE; частный ImageIcon II; частное изображение изображения; общественного недействительными Init () {setFocusable (истина); requestFocusInWindow (); requestFocus (); б = новый ImageIcon ( "Бал Jump.png"); изображение = ii.getImage (); Papi = новый PAPITest (); Панель = новый TestPane (); Добавить (панель); SetSize (600600); SetVisible (истина); } Пустот краска общественности (график г) {если (inMenu == истины) {Graphics2D g2d = (Graphics2D) г; g2D.drawImage (изображение, 0, 0, это); перекрасить (); }} Общественного класса TestPane расширяет JPanel {общественного TestPane () {InputMap им = getInputMap (WHEN_IN_FOCUSED_WINDOW); ActionMap ат = getActionMap (); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_SPACE, 0, ложь), "нажата"); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_SPACE, 0, правда), "выпущен"); am.put ( "нажата", новый AbstractAction () {@Override общественный недействительный actionPerformed (ActionEvent е) {если (inMenu == верно) {inMenu = ложь; удалить (панель); papi.setSize (600600); papi.setAlive (истина); добавить (Papi); SetVisible (истина); } Если (! Papi.isAlive () = истина) {удалить (Papi); Papi = новый PAPITest (); papi.setSize (600600); добавить (Papi); SetVisible (истина); перекрасить (); }}}); am.put ( "выпущен", новый AbstractAction () {@Override общественный недействительный actionPerformed (ActionEvent е) {если (inMenu == верно) {inMenu = ложь; удалить (панель); papi.setSize (600600); papi.setAlive (истина); добавить (Papi); SetVisible (истина); } Если (! Papi.isAlive () = истина) {удалить (Papi); Papi = новый PAPITest (); papi.setSize (600600); добавить (Papi); SetVisible (истина); перекрасить (); }}}); setFocusable (истина); requestFocusInWindow (); } @Override общественное измерение GetPreferredSize () {вернуть новое измерение (600, 600); } @Override защищен paintComponent пустот (Графика г) {super.paintComponent (г); Graphics2D g2d = (Graphics2D) г; g2D.drawImage (изображение, 0, 0, это); перекрасить (); }}}
programmer
1

голосов
1

ответ
529

Просмотры

Keybind параметр, чтобы пропустить символы конца строки автоматически пары в Sublime Text 2

Я хочу, чтобы иметь возможность курсор двигаться мимо autopair заканчивая характером, так что я могу продолжать печатать свой код. Я нуб в Sublime Text. Я просматривал здесь SO и нашел этот пост, который использует этот тип кода (сниппета): // Tab пропускает до конца autopaired символов { «ключей»: [ «Вкладка»] «команду»: «движение», " арг «: {» на «:„символы“,„вперед“: истинные}, и затем добавил к моему умолчанию (Windows) возвышенная-раскладка - файл пользователя, как это: // Tab скачет до конца autopaired символов {» клавиши ": [" вкладка "], "команда": "движение", "арг": {" по ": "символов", "вперед": истинные}, "контекст": []} При нажатии на вкладку» ' ключ, чтобы сделать курсор двигаться мимо закрытия autopair, курсор перемещается на позицию табуляции (добавление 4 пробела по умолчанию), он не движется «вперед», как нажатие клавиши со стрелкой будет делать. Как можно получить курсор просто двигаться вперед с помощью клавиши табуляции или какой-либо другой ключ? Что я упускаю / здесь делаю неправильно? Я не хочу, чтобы использовать клавиши со стрелками, так как это не является естественным нажатие клавиши от дома ключи (особ. В зависимости от пользователя клавиатуры). Спасибо! в зависимости от пользовательской клавиатуры). Спасибо! в зависимости от пользовательской клавиатуры). Спасибо!
Chris22
1

голосов
1

ответ
593

Просмотры

Emacs ярлык для перемещения курсора в столбец, добавив пробелы, если это необходимо

Есть ли способ, чтобы сделать ключ привязки таким образом, что Emacs перемещает курсор в определенную колонку (например, 100)? В моем случае это где я склонен ставить встроенные комментарии, так что было бы здорово иметь ярлык, чтобы добавить пробелы в конце строки кода, до линии 100. Предпочтительно было бы переместить курсор (без добавления пробелов), если был уже текст на (например) 100 линии.
DilithiumMatrix
1

голосов
1

ответ
870

Просмотры

Удалить выбранные элементы на JList, а ALT + клик

У меня есть JList. Я хотел бы удалить уже выбранные значения каждый раз, когда я нажимаю ALT + щелчок в то же время в списке. Как это сделать? Я не знаю, какой слушатель использовать. Проблема заключается в том, что, когда у меня есть выбранные значения и нажмите на список снова старый выбор потерян, выбран новый элемент. Я сделал: list.addMouseListener (новый MouseListener () {... @Override общественного недействительным mousePressed (MouseEvent е) {System.out.println (е); INT [] = выбранные list.getSelectedIndices (); если (selected.length > 0 && (e.getModifiers () & InputEvent.ALT_MASK) == InputEvent.ALT_MASK) {System.out.println ( "ту"), для Int я (: выбран) {model.remove (я); }}} ....} Но проблема в том, что только один элемент будет удален. Это один, на котором я альт нажмите
Yoda
1

голосов
1

ответ
204

Просмотры

KeyStroke релиз обнаружен, даже если я не отпускайте ключ

После прочтения некоторых уроков я решил перейти от KeyListeners к комбинации клавишу. Я думаю, что я понял, как они работают, но я не могу понять, почему эта маленькая программа обнаруживает ключ расцепления, даже если я не отпустите клавишу. EDIT: Я на машине Linux. //KeyBindingsTest.java импорт javax.swing *. импорт java.awt.event *. общественный класс KeyBindingsTest {частный JFrame ш = новый JFrame (); частный JComponent J = новый JPanel (); общественного KeyBindingsTest () {w.setSize (400400); w.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); w.setVisible (истина); setKeyBindings (); w.add (J); } Государственной статической силы основных (String [] арг) {новый KeyBindingsTest (); } Частного недействительный setKeyBindings () {InputMap им = j.getInputMap (JComponent.WHEN_IN_FOCUSED_WINDOW); ActionMap ат = j.getActionMap (); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_1, 0, ложь), "нажата"); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_1, 0, правда), "выпущен"); am.put ( "нажат", новый AbstractAction () {@Override общественный недействительный actionPerformed (ActionEvent е) {System.out.println ( "прессованный");}}); am.put ( "выпущен", новый AbstractAction () {@Override общественных недействительный actionPerformed (ActionEvent е) {System.out.println ( "выход");}}); j.setFocusable (истина); j.requestFocusInWindow (); }} Если я, удерживая клавишу «1» Я ожидаю, что программа непрерывно печатать: прессованные Прессованные прессованные ... но она печатает: штампованный Выпущенный прессованная выхода ... Я должен быть что-то, что-то очень простое отсутствует. EDIT: Я пришел с грязным грязным обходным путем, но я все еще надеюсь, что кто-то объяснить, как решить эту проблема в надлежащем образе. Вот оно: // начало файла должны оставаться те же частные недействительные setKeyBindings () {InputMap им = getInputMap (JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ActionMap ат = getActionMap (); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_1, 0, ложь), "нажата"); im.put (KeyStroke.getKeyStroke (KeyEvent.VK_1, 0, правда), "выпущен"); Класс MyAction расширяет AbstractAction {частных строк s; общественного MyAction (String s) {this.s = S; } @Override общественный недействительный actionPerformed (ActionEvent е) {если (s.equals ( "прессованный")) setKeyPressed (); иначе если (s.equals ( "выпущен")) tryToSetKeyReleased (); }} Am.put ( "прессованный", новый MyAction ( "нажата")); am.put ( "выпущен", новый MyAction ( "выпущен")); setFocusable (истина); requestFocusInWindow (); } Общественного логический нажимается = ложь; общественного недействительными setKeyPressed () {System.out.println ( "клавиша нажата"); нажимается = истина;} общественного недействительными setKeyReleased () {System.out.println ( "ключ выпущен"), нажимается = ложь;} общественного недействительными tryToSetKeyReleased ( ) {нажата = ложь; (Новая тема (новый Runnable () {@Override общественный недействительный запуск () {попробуйте {Thread.sleep (5);} поймать (Exception е) {;} если (нажимается == лжи) setKeyReleased ();}})) .Начните(); }
Festa Der Bresaola
1

голосов
2

ответ
3.6k

Просмотры

Как сделать автозаполнение работы с yasnippet и сокращениями?

Я хочу, чтобы Emacs работать так: Пусть автозаполнение меню автоматически всплывающим: (SETQ AC-авто-шоу-меню 0.8) (SETQ переменных задержки 0,1) С помощью Cn / р / Mn / р, чтобы выбрать автозаполнения всплывающего меню кандидаты: (определить ключ переменного меню карты (KBD "Mn") 'ас-некст) (определить ключ переменного меню карты (KBD "Мр")' ас-предыдущий) При выборе candiate отключить TAB / S -Tab в выборе меню: (определить ключ переменного меню карта (KBD «») ноль) (определить ключ переменного меню карты (KBD «») ноль) нажмите Enter, чтобы выбрать candiate, без вставки новой строки: ;; ??? если кандидат является Abbrev, Enter следует выбрать только candiate: ;; ??? ... и нажав пробел должно вызвать Emacs для автоматического расширения сокращения. если кандидат является dabbrev, нажав M- \ на кандидата должны вызвать dabbrev-расшириться. нажав TAB / Ci для расширения кандидата на yasnippet: (SETQ Яс-триггер-ключ «TAB») я установил, но триггер не расширяется при нажатии TAB. нажав клавишу TAB, чтобы развернуть триггер сниппета в поле: (SETQ Яс-спусковых-в-поле т) прижимной Cj, чтобы перейти к следующему полю: (SETQ Яс-следующему поле-ключ «(„“)) ;; или «Cj» Как я могу расширить сниппет в пределах фрагмента, используя yasnippet? Некоторые пояснения Там две вкладки в Emacs: (KBD "TAB") / (\ т, [9]) (KBD "") / ([TAB]) Если режимы, такие как yasnippet и автозавершения хотят связываться с TAB, их ключ запуска должен быть таким же, как оригинал команды вкладки. Поскольку Emacs связывает отступ-за закладки-команду, чтобы (KBD «TAB»), то лучше использовать его в качестве ключа запуска. yasnippet связывается с ней по умолчанию, и легко настроить автозаполнения для запуска с помощью TAB, а также: ;; Триггер с помощью TAB и отключить автоматический запуск (специально установленный-переменные «(ас-триггер-ключ„TAB“)» (ас-автоматический запуск ноль) «(ас-потребительное меню карты т)) Но в некоторых режимах (рубин-режим, режим уценки, орг-режим, и т.д.), то команда обязана (KBD ""). . Когда ключ реальной вкладки набран функция связана с (кбдом «) имеет более высокий приоритет, поэтому yasnippet и автозаполнение не вызываются Это легко исправить путем перемещения ключа связывания: (Defun IY-Tab-noconflict () (пусть ((команда (ключ привязка [TAB]))); помните команду (локальный незадан ключ [Tab]); отключенное из (KBD "") (местный установить ключ (KBD "TAB") команду) )); повторный связываются с (кбдом "TAB") (добавить-крюк 'рубиновый-Mode-крюк' гу-ас-элементный-noconflict) (добавить-крюк 'уценки-Mode-крюк' гу-ас-элементный-noconflict ) (добавить-крюк «орг-режим-крюк» гу-ас-закладки noconflict) Моя установка Скачал yasnippet, автозаполнение через эль-получить менеджер Упаковщика,. Я использую Ubuntu 12.04 и Emacs 24.3.50.1. Подводя итог, я знаю, эта проблема немного долго, но это действительно делает его трудным для меня, чтобы использовать автозаполнение и yasnippet. Если основной ключ связывания не работает гладко, это замедляет мой рабочий процесс совсем немного. Я думаю, что многие люди имеют схожие проблемы, потому что я нашел несколько подобных вопросов в интернете (хотя ни один из них не так же, как у меня). Как вы можете видеть выше, некоторые из соответствующих настроек я уже знаю. (Но если вы думаете, что я сделал ошибку где-нибудь, пожалуйста, скажите мне.) Есть также некоторые вещи, которые я до сих пор не знаю, как настроить (???). Может быть, это не способ, чтобы сделать все эти настройки работают вместе? Дайте мне знать, если это так, и в противном случае, пожалуйста, убедитесь, что ни из них установки мешают друг другу. После того, как я получить ответ на этот вопрос, я надеюсь написать расширение для Emacs, чтобы инициализировать все эти параметры автоматически. Спасибо за вашу помощь!
stardiviner
1

голосов
3

ответ
830

Просмотры

Java 2D игры: Игра цикл

У меня простой 2D игры в Java. В chararcters на экране управляются с помощью привязок ключей. Игра использует класс, который расширяет JPanel, чтобы отобразить графики и содержит большую часть игровой логики. Это имя класса является Совет. Какой тип игры цикла следует использовать каждые 40 миллисекунд игры и перекрасить () Совет? Вариант А: Совет содержит нить, которая запускается при запуске программы. Этот поток содержит цикл, который один раз в 40 мс обновляет игру и перерисовки Board (). Вариант B: Совет создает таймер Swing. Действие слушателем этого таймера является сам Совет. Метод actionPerformed () выполняется каждые 40 мс и обновляет игру + перерисовывает совет (). Другими словами, в 2D игре с Key Bindings, что лучше для игрового цикла и почему - свинг таймер или нить с петлей внутри него? Спасибо
user3150201
1

голосов
1

ответ
723

Просмотры

Java timer that starts when you click space, ends after clicking space again

I am trying to program a Rubiks cube timer. Once you click space I want the timer to countdown from 15 seconds, once the 15 seconds is over, start counting up from 0. When you are done solving the cube you click space again, stopping the timer (I want the timer to count to the nearest hundredth). Here is what I have now: import java.awt.BorderLayout; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import javax.swing.JLabel; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; public class CubeMain extends JFrame { private static final long serialVersionUID = 1L; private JPanel contentPane; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { try { CubeMain frame = new CubeMain(); frame.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } }); } public CubeMain() { setTitle("Cube Timer"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 600, 490); contentPane = new JPanel(); final JLabel Timerlbl = new JLabel(""); Timerlbl.setBounds(269, 219, 46, 14); contentPane.add(Timerlbl); addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent e) { Timerlbl.setText("Label Change"); } }); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); } }
Mohsen Maesumi
1

голосов
1

ответ
280

Просмотры

В Zsh, как вы связываете ключ к строке, а не функция?

Иногда его очень полезно, чтобы связать ключ, чтобы вставить строку. Bash использует Readline, поэтому у меня есть эти два привязок в моем ~ / .inputrc, что я считаю очень полезным: "\ C-XP": "/usr/lib/python2.7/site-packages/" "\ C-XF" : «найти / ЦСИ -maxdepth 5 -типа е -name„* .py“| xargs Grep -Еп» Я возиться с Zsh в последнее время, но я не могу понять, как получить такое поведение. Есть ли какая-то магия формы bindkey, что делает это?
Arturo E

Просмотр дополнительных вопросов