在Java Swing GUI设计器中添加JMenuBar子菜单项的快捷方式是显而易见的,但是如何将快捷方式添加到JMenuBar主菜单项?
ic_menu_info图标正确显示在调用它的xml菜单项中,但不在此AlertDialog中.
new AlertDialog.Builder(this).setMessage(menuInfo).setNeutralButton("OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface d, int i) {
// do nothing – it will close on its own
}
})
.setIcon(R.drawable.ic_menu_info).show();
...
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我需要在按钮单击时打开我的设备的蓝牙.我怎样才能做到这一点?一个例子将非常有用.另外,我需要在mainfest.xml中包含哪些权限?
我几天前在Microchip论坛(这里)发布了这个,但唯一的反应是蟋蟀.下面的I2C代码大部分时间都在工作,但偶尔在上电时会发生总线冲突(BCLIF),并且在BCLIF之后I2C模块无法恢复.I2C线路上拉3.3K欧姆.使用REALICE和断点我可以看到i2c_write()重置BCLIF并在设置BCLIF时返回FALSE.我使用示波器来验证I2C总线是否具有扁平线.返回FALSE init_i2c()时重新初始化PIC18F25K20 I2C模块(见下文)i2c_write()无济于事.PIC18F25K20 I2C连接到单个从器件(MCP4018 I2C数字POT).我在之前的PIC18项目中使用了相同的代码而没有出现问题,所以我更换了怀疑是坏部件的MCP4018,但没有看到任何区别.有没有办法在锁定时复位PIC18F25K20 I2C模块?
void init_i2c(I2C_BAUD_RATE baud_rate, float freq_mhz)
{
UINT32 freq_cycle;
/* Reset i2c */
SSPCON1 = 0;
SSPCON2 = 0;
PIR2bits.BCLIF = 0;
/* Set baud rate */
/* SSPADD = ((Fosc/4) / Fscl) - 1 */
freq_cycle = (UINT32) ((freq_mhz * 1e6) / 4.0);
if (baud_rate == I2C_1_MHZ)
{
SSPADD = (UINT8) ((freq_cycle / 1000000L) - 1);
SSPSTATbits.SMP = 1; /* disable slew rate for 1MHz operation */ …Run Code Online (Sandbox Code Playgroud) 这类似于我昨天提出的一个问题,但问题更具体.将JFreeChart添加到已包含各种小部件的NetBeans项目的正确方法是什么?我的updateChart()隐藏了整个JFrame.我想将JFreeChart添加到JFrame中.
public class MyClass extends javax.swing.JFrame implements TableModelListener {
public MyClass() {
initComponents();
...
updateChart();
}
private void updateChart() {
XYDataset dataset = createXYdataset();
JFreeChart chart = createChart(dataset);
JPanel chartPanel = new ChartPanel(chart);
setContentPane(chartPanel);
}
private XYDataset createXYdataset() {
XYSeries series = new XYSeries("");
int rows = jTable.getRowCount();
if (rows > 0) {
int ms = 0;
for (int row = 0; row < rows; row++) {
series.add(ms, 1);
ms += Integer.parseInt(
jTable.getValueAt(row, PULSE_ON).toString());
series.add(ms, 1);
series.add(ms, 0);
ms += …Run Code Online (Sandbox Code Playgroud) 我通常使用嵌入式设备之间的硬连线串行端口连接来实现自定义命令/响应/状态协议.在这个应用程序中,我计划使用微芯片TCP/IP堆栈和没有操作系统的 Wi-Fi模块来交换短(<= 100字节)命令和响应.堆栈已在微芯片以太网开发套件上启动并运行,我可以从我的桌面ping它(暂时不使用Wi-Fi模块).我想我可以入侵ping(微芯片提供堆栈的c源)并添加我需要的消息,但我正在寻找正确/最简单/最好的方法.
我正在尝试按照下载Google USB驱动程序的步骤,但在Android SDK和AVD Manager中看到以下错误:
找到了一些包但不兼容的更新.
没有Google插件,我无法下载Google USB驱动程序.
具体来说,我需要针对Nexus S的Google Usb驱动程序包修订版4.
我运行Eclipse>帮助>检查更新,但这没有解决问题.
Android SDK和AVD Manager是否需要以其他方式更新?如果是这样,怎么样?
还有其他方法可以解决这个问题吗?
Google Usb驱动程序包修订版4是否适用于Windows XP?

为什么没有这种正确配置file_storage设备USB?
在embedded-linux目标上:
/ # modprobe g_file_storage file=/dev/mmcblk0
musb_hdrc: version 6.0, cppi-dma, peripheral, debug=0
musb_hdrc: USB Peripheral mode controller at fec64000 using DMA, IRQ 12
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
g_file_storage gadget-lun0: ro=0, file: /dev/mmcblk0
/ # lsusb
lsusb: /sys/bus/usb/devices: No such file or directory
/ # cat /lib/modules/2.6.32-17-ridgerun/modules.dep | grep usb
kernel/drivers/usb/otg/nop-usb-xceiv.ko:
kernel/drivers/usb/musb/musb_hdrc.ko: kernel/drivers/usb/otg/nop-usb-xceiv.ko
kernel/drivers/usb/gadget/g_file_storage.ko: kernel/drivers/usb/musb/musb_hdrc.ko kernel/drivers/usb/otg/nop-usb-xceiv.ko
Run Code Online (Sandbox Code Playgroud)
在Ubuntu 10.04主机上:
$ fgrep USB $DEVDIR/kernel/linux*/.config | grep -v '^#'
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y …Run Code Online (Sandbox Code Playgroud) 根据df,设备上有足够的空间(约50G).
/ # df db
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p3 61812032 11308736 50503296 18% /db
Run Code Online (Sandbox Code Playgroud)
为什么这个vala代码会另外表示?
try
{
FileUtils.set_data(bmp_path, bmp);
}
catch (Error e)
{
printf("Error! FileUtils.set_data %s\n%s\n", bmp_path, e.message);
}
Run Code Online (Sandbox Code Playgroud)
当然,代码打印出来
Error! FileUtils.set_data /db/20121112/165206.0.bmp
Failed to create file '/db/20121112/165206.0.bmp.9X8PNW': No space left on device
Run Code Online (Sandbox Code Playgroud)
GLib.FileUtils可以在一个目录中处理的数量文件是否有限制?/ db/20121112包含27220个文件(半个jpeg和半个bmp).
mmcblk0p3是这样创建的
echo -e "n\np\n3\n66\n\nt\n3\nc\nw" | fdisk /dev/mmcblk0
Run Code Online (Sandbox Code Playgroud)
并格式化如下
mkfs.vfat -n DB -F 32 /dev/mmcblk0p3
Run Code Online (Sandbox Code Playgroud)
这可能是一个不在乎但设备是64G SD卡和mmcblk0p1和mmcblk0p2用于启动和rootfs.
在这样的评论中建议将inode检查为Barmar
df: invalid option -- 'i'
BusyBox v1.18.2 (2012-11-09 13:08:26 EST) multi-call binary.
Run Code Online (Sandbox Code Playgroud)
这是奇怪的,因为根据 …
m_PhyToBtMap中SPacket中的shared_ptr似乎导致"大小为64的块内无效读取大小为8 - 40个字节".注意:在valgrind(下面的日志)发出此错误消息之前,这已经运行了近22个小时,有数百万条消息,但我也在EraseAcknowledgedPackets(下面)中遇到SIGSEGV崩溃,并怀疑这是原因.我使用的是Boost 1.63,因为交叉编译器不支持shared_ptr.在valgrind日志中调出SendMessageToBt(大小为8的无效读取)和EraseAcknowledgedPackets(大小为64的块中的40个字节).
SPacket和m_PhyToBtMap
typedef struct SPacket
{
boost::shared_ptr<uint8_t[]> data;
size_t size;
} SPacket;
map<uint16_t, SPacket> m_PhyToBtMap;
Run Code Online (Sandbox Code Playgroud)
SendMessageToBt
void RadioManager::SendMessageToBt(uint8_t * response, size_t responseSize)
{
CSrProtected ThreadSafe(m_LockPhyToBt);
SPacket sentPacket;
sentPacket.size = MESSAGE_HEADER_OFFSET + responseSize + CRC32_SIZE;
sentPacket.data = boost::make_shared<uint8_t[]>(sentPacket.size);
assert(sentPacket.data.get());
memcpy(&sentPacket.data.get()[MESSAGE_HEADER_OFFSET], response, responseSize);
m_AcknowledgementNumberSent = m_NextReceiveSequenceNumber;
m_SequenceNumberSent = m_NextSendSequenceNumber;
++m_NextSendSequenceNumber;
if (0 == m_NextSendSequenceNumber) m_NextSendSequenceNumber = SEQUENCE_NUMBER_MIN;
m_PhyToBtMap[m_SequenceNumberSent] = sentPacket; // RadioManager.cpp:246
sentPacket.data.get()[DATAGRAM_ACKNOWLEDGEMENT_LSB] = m_AcknowledgementNumberSent;
sentPacket.data.get()[DATAGRAM_ACKNOWLEDGEMENT_MSB] = m_AcknowledgementNumberSent >> 8;
sentPacket.data.get()[DATAGRAM_HEADER_SIZE + SEQUENCE_NUMBER_LIST_SIZE_LSB] = m_SequenceNumberSent;
sentPacket.data.get()[DATAGRAM_HEADER_SIZE …Run Code Online (Sandbox Code Playgroud)